申請Let’s Encrypt 憑證并自動更新

目前網站啟用Https是主流,如果沒有啟用Https,主流的瀏覽器都會提示網站是不安全的,啟用Https就必須要有憑證,憑證網路上有付費的版本,大概提供一年效期,也有免費的版本,例如Lets Encrypt每次可以提供3個月的憑證。下面教程為在Windows上申請Lets Encrypt泛域名憑證,在到期前自動續約。

官方的提供的客戶端網站為https://letsencrypt.org/zh-tw/docs/client-options/

軟體有許多種,挑選了一個Windows下帶GUI的工具Certify The Web (Windows)

安裝後執行,首先要提供一個通知的信箱

20201805-w9

20201806-WP

再來設定要產生憑證的域名,本例為*.icka.nl,點擊+添加

20201807-XC

20201808-RC

然後點擊Authorization設定驗證部分

Challenge Type選擇dns-01

為了全自動,所以不選擇手動,下拉選擇我的DNS管理商,Cloudflare DNS API

20201809-ly

Credentials預設為空,點擊NEW建立新的驗證,直接提供全局的Token感覺比較危險,我們可以訪問https://dash.cloudflare.com/profile/api-tokens建立一個新的Token,提供的權限如下

Zone Resources截圖是選擇了All zones,但其實可以設定套用到指定的域名,讓權限最小化。

20201810-KN

點擊Continue to summary產生Token并記錄

20201811-u7

將Token添加到API token的欄位,保存退出20201812-Ep

Dns Zone id是從Cloudflare定位到當前域名,在概述的頁面右下角會有顯示

20201813-wt

Domain Match輸入我們要申請的網域名稱

設定完畢後,點擊右上角有個test,可以檢查Cloudflare DNS API是否通過驗證

20201814-43

在此處其實點擊Request Certificate就可以獲取憑證了,但如果需要自動部署憑證及是否將憑證匯出等則可以繼續向下設定。

部署憑證可以針對許多環境自動部署

20201815-d5

申請憑證的時候,首選程式會獲取要設定的TXT DNS名稱,通過Cloudflare DNS API直接設定在DNS上面,等待幾十秒後,提交Lets Encrypt驗證,通過後獲取憑證,然後會再通過Cloudflare DNS API把剛才添加的TXT記錄刪除掉。

20201816-py

20201817-st

匯出憑證。

20201818-wh

相關設定,例如多久之後自動獲取等等。

20201819-Pt

匯出憑證的格式及路徑設定。

20201820-ZM

獲取到的憑證文件資訊

20201821-a9

查看剛才獲取到的憑證,可以看到,確實有成功獲取到3個月有效的泛域名憑證。

20201822-iK

20201823-jK

官方的說明文件可以參考:

https://docs.certifytheweb.com/docs/intro