Let’s encrypt 通配域名DNS验证方式的证书自动更新

42次阅读

共计 896 个字符,预计需要花费 3 分钟才能阅读完成。

通配符域名不同于一般的单域名证书. 为了解决之前一篇短文中通配域名通过 DNS 方式验证的证书自动更新问题. 需要使用到第三方域名提供商的 API, 用于自动添加域名的 TXT 记录, 实现自动验证并完成证书更新过程.
要求和适应性

要求了解 Let’s encrypt 通配域名 (二级, 三级)

使用 Cloudflare 的 DNS 解析服务

安装插件
pip install certbot-dns-cloudflare
创建存储 API 调用凭证的目录
mkdir -p ~/.secrets/certbot

chmod 0700 ~/.secrets

# Cloudflare API 秘钥
cat > ~/.secrets/certbot/cloudflare.ini <<END
dns_cloudflare_email = admin@example.com
dns_cloudflare_api_key = 1c6287abdc254293f3b4837ad871937ajfb81
END
# 修改文件权限
chmod 0400 ~/.secrets/certbot/cloudflare.ini
执行更新
certbot certonly -d ‘*.example.com’ \
–agree-tos \
–email admin@example.com \
–server https://acme-v02.api.letsencrypt.org/directory \
–dns-cloudflare \
–dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
–dns-cloudflare-propagation-seconds 30
–dns-cloudflare-propagation-seconds 30 表示等待 30 秒, 让 DNS 完成传播再发起验证过程.
概要
通过提供 Cloudflare 的 API 秘钥, certbot-dns-cloudflare 插件可以调用 Cloudflare 的 DNS 接口自动添加 DNS 验证所需要的 TXT 记录
自动化
为了自动化该过程, 需要编写一个脚本放到 Cron 中定时执行.
参考资料

插件列表
阿里云 DNS 插件

正文完
 0