2024 certbot 自動更新憑證方式 (使用 nginx、cloudflare api key)

安裝對應的 package (環境 ubuntu 22.04)
邏輯上因為這個驗證方法是走 dns record 驗證應該不需要安裝 python-certbot-nginx ,但我沒有移除再測試一次
就一樣先留作紀錄摟

sudo apt-get install software-properties-common
sudo apt-get update
sudo apt-get install certbot
sudo apt-get install python-certbot-nginx
sudo apt-get install python3-certbot-dns-cloudflare

https://certbot-dns-cloudflare.readthedocs.io/en/stable/
到cloudflare網站上設定 API KEY

這部分發現GUI 介面有點問題,設定單個 zone 的key就是會無效,設定2個 zone 就 ok
感覺是個 bug 但總比用 global key 好

在機器上設定 api-key file

/root/.secrets/certbot/cloudflare.ini

# Cloudflare API credentials used by Certbot
dns_cloudflare_email = [email protected]
dns_cloudflare_api_key = 0123456789abcdef0123456789abcdef01234

自動更新的部分是寫一個簡易的 script 直接執行
/home/[user]/certbot/renewcert.sh

certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  --dns-cloudflare-propagation-seconds 30 \
  -d *.[your-domain]

sudo crontab -e

0 0 1 * * sh /home/[user]/certbot/renewcert.sh
docker run  --rm -it \ 
-v /volume/letsencrypt:/etc/letsencrypt \
-v /volume/letsencrypt/log:/var/log/letsencrypt \
-v /volume/scripts/cloudflare.ini:/cloudflare.ini \
certbot/dns-cloudflare:v2.6.0   certonly    \
--preferred-chain "ISRG Root X1" \
--force-renewal \
--preferred-challenges dns  \
--server https://acme-v02.api.letsencrypt.org/directory \                              --email="[email protected]"                      \                              -d "*.yourdomain.com"                                     \                              --dns-cloudflare                                        \                              --dns-cloudflare-credentials /cloudflare.ini            \                              --dns-cloudflare-propagation-seconds 30 \

Reference

https://www.baeldung.com/linux/letsencrypt-renew-ssl-certificate-automatically

https://medium.com/learn-or-die/%E5%88%A9%E7%94%A8-lets-encrypt-%E4%BE%86%E8%87%AA%E5%8B%95%E7%B0%BD%E7%BD%B2%E4%B8%A6%E6%9B%B4%E6%96%B0-ssl-%E6%86%91%E8%AD%89-wildcard-26b49114bf73

關於

登山嚮導 / IT / 武術/網頁工程 - 貪多而正努力咀嚼的人生小吃貨