Let's encrypt 通配域名DNS驗證方式的證書自動更新
阿新 • • 發佈:2018-12-25
萬用字元域名不同於一般的單域名證書. 為了解決之前一篇短文中通配域名通過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 = [email protected]
dns_cloudflare_api_key = 1c6287abdc254293f3b4837ad871937ajfb81
END
# 修改檔案許可權
chmod 0400 ~/.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中定時執行.