1. 程式人生 > >Let's encrypt 通配域名DNS驗證方式的證書自動更新

Let's encrypt 通配域名DNS驗證方式的證書自動更新

萬用字元域名不同於一般的單域名證書. 為了解決之前一篇短文中通配域名通過DNS方式驗證的證書自動更新問題. 需要使用到第三方域名提供商的API, 用於自動新增域名的TXT記錄, 實現自動驗證並完成證書更新過程.

要求和適應性

安裝外掛


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中定時執行.

參考資料

來源:https://segmentfault.com/a/1190000017500561