下方使用 CentOS7 當作示範環境
如果你還沒裝 certbot,請先執行 yum install certbot
- 首先要先登入 Cloudflare,右上角 My Profile 那就可找到 Global API Key
請點選 View 輸入密碼就會出現,這把 Key 很重要請小心保管
- 由於這把 Key 很重要,所以要放在一個安全的地方
原作者把它放在/root/.secrets
裡面(你要改地方也行,最後的參數路徑記得改就好)
但系統預設沒有/root/.secrets
這個目錄
所以要先建立這個目錄mkdir /root/.secrets
然後把下面這兩行填好後放到/root/.secrets/cloudflare.ini
裡面
dns_cloudflare_email = "請填你的cloudflare帳號,也就是email"
dns_cloudflare_api_key = "請輸入上述的 Global API Key"
- 修改
/root/.secrets/cloudflare.ini
權限
chmod 0700 /root/.secrets/
chmod 0400 /root/.secrets/cloudflare.ini
- 安裝 Certbot 及 CloudFlare DNS 認證套件
yum install python-pip
pip install certbot-dns-cloudflare
- 申請 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
- 於 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