正在加载今日诗词...
lishijiLishiji  2025-06-07 16:23 深谋之道 隐藏边栏 |   抢沙发  3 
文章评分 0 次,平均分 0.0
最终目标:给 *.deepmou.comdeepmou.com 签发一个免费的 HTTPS 证书。

一、用到的工具

工具 说明
certbot Let's Encrypt 官方推荐的自动化客户端,用于申请和续期证书
python3-certbot-dns-cloudflare 一个 Certbot 插件,能自动帮你在 Cloudflare 上创建 DNS 验证记录
Cloudflare API Token 用于 certbot 自动访问 Cloudflare DNS 系统创建 TXT 记录(用于验证你对域名的控制权)

二、操作流程

1.安装 certbot 及 Cloudflare 插件

sudo apt update
sudo apt install certbot python3-certbot-dns-cloudflare -y

💡 说明:

certbot 是核心程序

python3-certbot-dns-cloudflare 插件用于和 Cloudflare API 通信

2.获取 Cloudflare API Token

  1. 登录 Cloudflare → 点击右上角头像 → "My Profile"

  2. 打开 API Tokens 页面

  3. 点击 "Create Token"

  4. 选择 “Edit zone DNS” 模板

  5. 选择域名(deepmou.com)

  6. 创建后复制 token

3.创建 Cloudflare API 配置文件

mkdir -p ~/.secrets
nano ~/.secrets/cloudflare.ini

粘贴以下内容:

dns_cloudflare_api_token = your_token_here

保存并关闭,然后设置权限(防止泄露):

chmod 600 ~/.secrets/cloudflare.ini

4. 正式申请通配符证书

sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
  -d "deepmou.com" -d "*.deepmou.com" \
  --preferred-challenges dns-01 \
  --agree-tos --no-eff-email \
  --manual-public-ip-logging-ok
参数 说明
certonly 只申请证书,不自动配置 nginx(安全)
--dns-cloudflare 指定 DNS 插件为 cloudflare
--dns-cloudflare-credentials 配置文件路径
-d 指定要签发证书的域名(包括通配符)
--preferred-challenges dns-01 只用 DNS 验证
--agree-tos 自动接受 Let's Encrypt 的服务条款
--no-eff-email 不加入 EFF 邮件列表
--manual-public-ip-logging-ok 接受公网 IP 记录日志(必要参数)

5.成功后,你会看到证书保存路径类似于:

/etc/letsencrypt/live/deepmou.com/fullchain.pem
/etc/letsencrypt/live/deepmou.com/privkey.pem

6.默认自动续期

你会看到:

Certbot has set up a scheduled task to automatically renew this certificate in the background.

你可以检查:

sudo systemctl list-timers | grep certbot

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

lishiji
Lishiji 关注:0    粉丝:0
仙之巅,傲世间!生当作人杰,死亦为鬼雄。

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享