跟傳統的 HTTPS-01 比起來
不需要連到網站
只需要在 DNS 紀錄聲明擁有這個特定網域
就可以簽名
安裝
sudo apt install python3-certbot-dns-cloudflare步驟
-
去 Cloudflare 後台建立一個具有
Zone:DNS:Edit權限的 API Token。 -
建立一個設定檔(例如
cloudflare.ini)填入 Token,然後執行指令
dns_cloudflare_api_token = <token>
- 指令
sudo certbot certonly \
--dns-cloudflare \ #指定調 cloudflare 的 DNS
--dns-cloudflare-credentials ~/.secrets/cloudflare.ini \ #cloudflare token 位置
-d monitor.你的網域.com \ #要簽的網域 可以很多個 每個都寫 -d 可以用 * 要加上主網域
--dns-cloudflare-propagation-seconds 60 # 驗證時間 太短可能還沒更新上去就驗證 會失敗- 設定 nginx
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;其他
- 憑證重新載入得時候自動重啟 nginx
sudo certbot renew --deploy-hook "systemctl reload nginx"—cert-name cheesege.com \