当前位置: 首页 > article >正文

免费申请 DV ssl证书并自动续约,非国内云厂商版本

 官方FAQ常见问题 - Let's Encrypt

假设域名为 www.521.com 申请和自动续订 Let's Encrypt 的免费 SSL 证书

当然可以!下面是每个步骤的详细解释,确保你能顺利地为你的域名 www.zjx521.com 申请和自动续订 Let's Encrypt 的免费 SSL 证书。

1. 安装 Certbot

在 Debian/Ubuntu 上
sudo apt update
sudo apt install certbot python3-certbot-nginx
  • sudo apt update:更新包列表,确保你安装的是最新版本的软件包。
  • sudo apt install certbot python3-certbot-nginx:安装 Certbot 及其 Nginx 插件。python3-certbot-nginx 插件用于自动配置 Nginx。
在 CentOS/RHEL 上
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
  • sudo yum install epel-release:安装 EPEL(Extra Packages for Enterprise Linux)仓库,因为 Certbot 不在默认的 RHEL/CentOS 仓库中。
  • sudo yum install certbot python3-certbot-nginx:安装 Certbot 及其 Nginx 插件。
在 Arch Linux 上
sudo pacman -S certbot nginx
  • sudo pacman -S certbot nginx:安装 Certbot 和 Nginx。Arch Linux 的包管理器 pacman 会自动处理依赖关系。

2. 获取证书

使用 Nginx 插件
sudo certbot --nginx -d www.521.com
  • sudo certbot --nginx -d www.521.com:使用 Nginx 插件为 www.521.com 申请证书。Certbot 会自动配置 Nginx 以启用 HTTPS。
手动获取证书
sudo certbot certonly --standalone -d www.521.com
  • sudo certbot certonly --standalone -d www.zjx521.com:使用 standalone 模式手动获取证书。standalone 模式会启动一个临时的 Web 服务器来验证域名所有权,因此需要确保 80 端口未被占用。

3. 配置 Nginx

编辑你的 Nginx 配置文件,通常位于 /etc/nginx/sites-available/default/etc/nginx/conf.d/your-site.conf

server {
    listen 80;
    server_name www.521.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name www.521.com;

    ssl_certificate /etc/letsencrypt/live/www.521.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.521.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;

    # 其他配置
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}
  • listen 80;:监听 HTTP 请求。
  • server_name www.521.com;:指定服务器名称。
  • return 301 https://$host$request_uri;:将 HTTP 请求重定向到 HTTPS。
  • listen 443 ssl;:监听 HTTPS 请求。
  • ssl_certificate /etc/letsencrypt/live/www.521.com/fullchain.pem;:指定 SSL 证书文件路径。
  • ssl_certificate_key /etc/letsencrypt/live/www.521.com/privkey.pem;:指定 SSL 私钥文件路径。
  • ssl_protocols TLSv1.2 TLSv1.3;:指定支持的 SSL 协议版本。
  • ssl_ciphers:指定支持的加密套件。
  • ssl_prefer_server_ciphers on;:优先使用服务器的加密套件。
  • location / { ... }:定义根目录和默认索引文件。

4. 重启 Nginx

保存配置文件后,重启 Nginx 以应用更改:

sudo systemctl restart nginx

5. 自动续订

Certbot 会在证书到期前自动续订证书。默认情况下,Certbot 会每天运行一次续订任务。你可以通过以下命令手动测试续订过程:

sudo certbot renew --dry-run
  • sudo certbot renew --dry-run:模拟续订过程,确保一切正常。

6. 配置定时任务

虽然 Certbot 默认会每天运行一次续订任务,但为了确保万无一失,你可以手动配置一个定时任务。编辑 /etc/crontab 文件,添加以下行:

0 3 * * * root /usr/bin/certbot renew --quiet && systemctl reload nginx

或者

echo '0 3 * * * root /usr/bin/certbot renew --quiet && systemctl reload nginx' >> /etc/crontab
  • 0 3 * * *:每天凌晨3点执行任务。
  • root:以 root 用户身份运行。
  • /usr/bin/certbot renew --quiet:运行 Certbot 续订命令,并静默输出。
  • && systemctl reload nginx:如果续订成功,重新加载 Nginx 配置。

7. 验证证书

你可以使用浏览器或在线工具(如 SSL Labs 的 SSL Test)来验证证书是否正确安装和配置。


http://www.kler.cn/news/360486.html

相关文章:

  • C语言 | Leetcode C语言题解之第493题翻转对
  • KdTree与八叉树的比较:如何在多维空间中有效管理数据
  • C++ 标准模板库(STL)教程
  • 电影评论网站开发:Spring Boot技术详解
  • ThinkPad T480拆机屏幕改装:便携式显示器DIY指南
  • 小白向的源码开发详解:直播带货系统与电商平台搭建指南
  • 每日一题|3185. 构成整天的下标对数目 II|数组取代hash
  • MacOS13虚拟机VMware Workstation Pro 16安装
  • 【LeetCode HOT 100】详细题解之二分查找篇
  • 后端:唯一ID有哪些生成方式
  • mybatis二级缓存知识
  • 012_django基于大数据的高校新生数据可视化分析系统2024_4x13gn6t (1)
  • 通过PHP与API的结合,开启电商数据集成的新篇章
  • Richtek | 用于智能门铃的电源管理解决方案
  • 老机MicroServer Gen8再玩 OCP万兆光口+IT直通
  • Windows下配置Nginx和PHP
  • 有趣的css - 跷跷板加载动画
  • 【Vercel】Vercel静态部署踩坑
  • 从零开始学PHP之变量作用域数据类型
  • 天锐绿盾 vs Ping32:企业级加密软件大比拼