最终目标:给 *.deepmou.com 和 deepmou.com 签发一个免费的 HTTPS 证书。
工具 | |
---|---|
certbot |
Let's Encrypt 官方推荐的自动化客户端,用于申请和续期证书 |
python3-certbot-dns-cloudflare |
一个 Certbot 插件,能自动帮你在 Cloudflare 上创建 DNS 验证记录 |
Cloudflare API Token | 用于 certbot 自动访问 Cloudflare DNS 系统创建 TXT 记录(用于验证你对域名的控制权) |
sudo apt update
sudo apt install certbot python3-certbot-dns-cloudflare -y
certbot
是核心程序
python3-certbot-dns-cloudflare
-
-
打开 API Tokens 页面
-
点击 "Create Token"
-
选择 “Edit zone DNS” 模板
-
选择域名(deepmou.com)
-
mkdir -p ~/.secrets
nano ~/.secrets/cloudflare.ini
粘贴以下内容:
dns_cloudflare_api_token = your_token_here
保存并关闭,然后设置权限(防止泄露):
chmod 600 ~/.secrets/cloudflare.ini
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 记录日志(必要参数) |
/etc/letsencrypt/live/deepmou.com/fullchain.pem
/etc/letsencrypt/live/deepmou.com/privkey.pem
你会看到:
Certbot has set up a scheduled task to automatically renew this certificate in the background.
你可以检查:
sudo systemctl list-timers | grep certbot
声明:本文为原创文章,版权归深谋之道所有,欢迎分享本文,转载请保留出处!