一、准备工作
跳转到“一、准备工作”1. 确保域名解析在 Cloudflare
跳转到“1. 确保域名解析在 Cloudflare”确保你的域名 jessi53.com 和 www.jessi53.com 的 DNS 记录已经正确配置在 Cloudflare 中,并且状态为 Active。
2. 安装 Certbot
跳转到“2. 安装 Certbot”在你的服务器上安装 Certbot 和 Cloudflare 插件。以下是基于 Debian/Ubuntu 和 CentOS 的安装步骤:
基于 Debian/Ubuntu 的系统
跳转到“基于 Debian/Ubuntu 的系统”sudo apt updatesudo apt install -y certbot python3-certbot-dns-cloudflare基于 CentOS 的系统
跳转到“基于 CentOS 的系统”sudo yum install -y epel-releasesudo yum install -y certbot python3-certbot-dns-cloudflare二、创建 Cloudflare API 令牌
跳转到“二、创建 Cloudflare API 令牌”1. 登录 Cloudflare 控制面板
跳转到“1. 登录 Cloudflare 控制面板”打开 Cloudflare 控制面板 并登录你的账户。
2. 创建 API 令牌
跳转到“2. 创建 API 令牌”- 在左侧菜单中,选择
API Tokens。 - 点击
Create Token按钮。 - 在
Choose a template下拉菜单中,选择Edit zone DNS模板。 - Token Name:输入一个描述性的名称,例如
Certbot DNS Management。 - Permissions:确保
Edit zone DNS权限已启用。 - Zone Resources:选择
所有区域或者指定特定的区域。 - 客户端 IP 地址筛选:输入你的服务器公网 IP 地址(例如
8.130.xx.xx)。 - 点击
Create Token按钮生成 API 令牌,并复制保存生成的 API 令牌。
三、配置 Certbot 使用 Cloudflare API 令牌
跳转到“三、配置 Certbot 使用 Cloudflare API 令牌”1. 创建配置文件
跳转到“1. 创建配置文件”在服务器上创建一个文件来存储你的 Cloudflare API 令牌:
mkdir -p ~/.secrets/certbotnano ~/.secrets/certbot/cloudflare.ini2. 添加 API 令牌
跳转到“2. 添加 API 令牌”在文件中添加以下内容(替换 YOUR_CLOUDFLARE_API_TOKEN):
dns_cloudflare_api_token = YOUR_CLOUDFLARE_API_TOKEN3. 设置文件权限
跳转到“3. 设置文件权限”设置文件权限以确保安全:
chmod 600 ~/.secrets/certbot/cloudflare.ini四、申请 SSL 证书
跳转到“四、申请 SSL 证书”1. 申请单域名 SSL 证书
跳转到“1. 申请单域名 SSL 证书”使用 Certbot 和 Cloudflare 插件申请 SSL 证书:
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d jessi53.com -d www.jessi53.com
# 可添加多个域名sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d jessi53.com -d www.jessi53.com -d xxxx1031.com -d www.xxxx1031.com注意:
申请时先把CDN代理打开

2. 申请泛域名 SSL 证书
跳转到“2. 申请泛域名 SSL 证书”使用 Certbot 和 Cloudflare 插件申请泛域名 SSL 证书:
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d jessi53.com -d www.jessi53.com -d *.jessi53.com3. 增加 DNS 传播时间
跳转到“3. 增加 DNS 传播时间”如果 DNS 验证失败,可以尝试增加 --dns-cloudflare-propagation-seconds 的值,以确保 DNS 记录有足够的时间传播:
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d jessi53.com -d www.jessi53.com -d *.jessi53.com --dns-cloudflare-propagation-seconds 60五、配置 Nginx 使用 SSL 证书
跳转到“五、配置 Nginx 使用 SSL 证书”1. 编辑 Nginx 配置文件
跳转到“1. 编辑 Nginx 配置文件”找到你的 Nginx 配置文件,通常位于 /etc/nginx/sites-available/ 或 /etc/nginx/conf.d/ 目录下。例如,你的配置文件可能是 /etc/nginx/sites-available/jessi53.com。
2. 更新配置文件
跳转到“2. 更新配置文件”打开配置文件并更新为以下内容:
server { listen 80; server_name jessi53.com www.jessi53.com;
location / { return 301 https://$host$request_uri; }}
server { listen 443 ssl; server_name jessi53.com www.jessi53.com;
ssl_certificate /etc/letsencrypt/live/jessi53.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/jessi53.com/privkey.pem;
location / { # 你的网站内容 }}3. 测试 Nginx 配置
跳转到“3. 测试 Nginx 配置”运行以下命令测试 Nginx 配置文件是否有语法错误:
sudo nginx -t4. 重新加载 Nginx
跳转到“4. 重新加载 Nginx”如果配置文件没有问题,重新加载 Nginx 以应用更改:
sudo systemctl reload nginx六、配置自动续期
跳转到“六、配置自动续期”1. 编辑 Crontab 文件
跳转到“1. 编辑 Crontab 文件”运行以下命令编辑 Crontab 文件:
sudo crontab -e2. 添加自动续期任务
跳转到“2. 添加自动续期任务”确保 Crontab 文件中包含以下行,以每天凌晨 2 点自动尝试续期证书:
0 2 * * * /usr/bin/certbot renew --quiet七、验证 HTTPS 配置
跳转到“七、验证 HTTPS 配置”1. 访问网站
跳转到“1. 访问网站”打开浏览器,访问 https://jessi53.com 和 https://www.jessi53.com,确保网站能够通过 HTTPS 正常访问,并且没有证书错误。
2. 查看日志文件
跳转到“2. 查看日志文件”查看 Certbot 的日志文件以确保一切正常:
cat /var/log/letsencrypt/letsencrypt.log来源:CSDN 原文,首次发布于 2025-05-31。