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

  1. 首先要先登入 Cloudflare,右上角 My Profile 那就可找到 Global API Key
    請點選 View 輸入密碼就會出現,這把 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