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

通配符域名不同于一般的单域名证书. 为了解决之前一篇短文中通配域名通过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 <

执行更新

certbot certonly -d '*.example.com' \
    --agree-tos \
    --email [email protected] \
    --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插件

你可能感兴趣的:(letsencrypt)