使用 certbot+cloudflare 讓 wildcard certificate 自動更新憑證

Published 2019-06-19 00:00 Updated 2022-08-25 00:00 328 words 2 min read

丁丁 avatar

丁丁

隨意寫寫,筆記記錄,以免忘記,後悔莫及

This post is not yet available in English. Showing the original.
下方使用 CentOS7 當作示範環境 如果你還沒裝 certbot,請先執行 首先要先登入 Cloudflare,右上角 My Profile 那就可找到 Global API Key 請點選 View 輸入密碼就會出現,這把 Key 很重要請小心保管 api key 由於這把 Key 很重要,所以要放在一個安全的地方 原作者把它放在 裡面(你要改地方也行,最後的參數路徑記得改就好)...

下方使用 CentOS7 當作示範環境
如果你還沒裝 certbot,請先執行 yum install certbot

  1. 首先要先登入 Cloudflare,右上角 My Profile 那就可找到 Global API Key
    請點選 View 輸入密碼就會出現,這把 Key 很重要請小心保管
api key
api key
  1. 由於這把 Key 很重要,所以要放在一個安全的地方
    原作者把它放在 /root/.secrets 裡面(你要改地方也行,最後的參數路徑記得改就好)
    但系統預設沒有 /root/.secrets 這個目錄
    所以要先建立這個目錄 mkdir /root/.secrets
    然後把下面這兩行填好後放到 /root/.secrets/cloudflare.ini 裡面
dns_cloudflare_email = "請填你的cloudflare帳號,也就是email"
dns_cloudflare_api_key = "請輸入上述的 Global API Key"
  1. 修改 /root/.secrets/cloudflare.ini 權限
chmod 0700 /root/.secrets/
chmod 0400 /root/.secrets/cloudflare.ini
  1. 安裝 Certbot 及 CloudFlare DNS 認證套件
yum install python-pip
pip install certbot-dns-cloudflare
  1. 申請 Wildcard SSL 憑證
    example.com 更換成自己的域名,如果有 4 級域名也要一起加入
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d example.com,*.example.com --preferred-challenges dns-01
  1. 於 crontab 設定自動 renew
  • nginx
14 5 * * * /usr/local/bin/certbot renew --quiet --post-hook "/usr/sbin/service nginx reload" > /dev/null 2>&1
  • apache
14 5 * * * /usr/local/bin/certbot renew --quiet --post-hook "systemctl reload httpd" > /dev/null 2>&1

Linuxcertbotcloudflarecertificatewildcard certificate

此文章已被阅读次数

…更新於 2022-08-25

© 2010 - 2026 丁丁 @ThanatosDi
Powered by theme astro-koharu · Inspired by Shoka