如何申請免費 Let’s Encrypt SSL 自動更新憑證,自架 IIS 站台適用
Https 連線網頁使用 SSL 加密憑證可以讓使用者在網頁輸入的資料更加安全,減少被截取內容的風險。
已經安裝 SSL 憑證的網站就可以使用 https 連線,沒有使用 Https 連線,會被 Chrome 標示為不安全網站。
想要安裝憑證就需要先有第三方單位頒發憑證,才可以安裝在自己的伺服器上面,而 Let’s Encrypt 是憑證頒發機構,每次申請可免費獲得 3 個月有效憑證,而 Let’s Encrypt 提供自動更新程式,也就是表示使用 Let’s Encrypt SSL 憑證可以一直免費自動更新。
以下我教學的環境是 Windows IIS ,為我的 WordPress 網站安裝 SSL 憑證作為教學說明。
Contents
事先準備
在安裝 SSL 憑證之前,你需要先有一個網域及主機。
網域 (Domain Name) 就像是網路上的門牌號碼,如何申請網域可參考我另一篇文章: GoDaddy 購買網域教學-建立你的網路門牌
主機是架設網站的伺服器 (Web Server),將你的網頁或 WordPress 架設在主機上,再將網域指向主機 IP,就可以使用網域瀏覽網頁。
想要申請主機可搜尋「虛擬主機」或是「 VPS 主機」,找到適合你的網路服務商,或是你也可以與我聯絡,我有自己架設主機,可以為你提供網站架設服務。
安裝 Certbot: win-acme
要使用 Let’s Encrypt 自動更新憑證要下載符合 ACME (Automatic Certificate Management Environment) 協定的輔助工具 Certbot
Certbot 提供適用 Windows IIS 環境的軟體,可參考連結
我推薦使用的軟體是 win-acme
下載後的檔案記得放到伺服器上面。
解壓縮檔案
將下載的檔案在伺服器上面解壓縮,解壓縮程式位置建議永久存放,以方便程式後續自動更新。
執行 win-acme
在解壓縮的檔案對「wacs.exe」按右鍵,選擇「以系統管理員身分執行」。
執行動作
在開啟的安裝詢問畫面,如果是申請 SSL 憑證,就輸入 ”n” (Create certificate)。
選擇網域
win-acme 會顯示你在 IIS 上已建立的網站名稱,輸入網域前的編號。
子網域範圍
申請憑證可選擇指定子網域或是全部子網域有效,指定子網域例如只有 aaa.ccinvest.com.tw 有效,或是全部子網域 *.ccinvest.com.tw 都有效。
如果要指定子網域有效,可輸入 “P”,如果要全部子網域有效,可輸入 “A”。
確定執行後 win-acme 就會在 IIS 上安裝 SSL 憑證。
如果有出現是否確認執行,可輸入 ”y”
檢查 IIS SSL 憑證
在完成 win-acme 安裝之後,就可以到 IIS 上檢查站台是否已安裝 SSL 憑證。
在 IIS 站台上按右鍵選擇「編輯繫結」。
選擇連接埠為「443」,點擊「編輯」。
已安裝 SSL 憑證就可以看到憑證名稱。
點選「檢視」,可以看到憑證資訊。
每一次申請都會有 3 個月免費有效憑證。當 3 個月到期時不需要做任何的動作,win-acme 將會自動更新憑證,自動申請新的 3 個月有效憑證。
Certbot: win-acme 如何自動更新
在安裝完 win-acme 之後,win-acme 會自動在「工作排程器」建立一個排程,執行週期是每天。
執行的檔案是剛剛解壓縮後的 wacs.exe 執行檔,執行時會帶入參數檢查憑證是否需要更新。
注意:
如果你在安裝完 win-acme 之後,手動刪除或移動安裝目錄,將會導致 3 個月之後自動更新失敗,如果有移動程式,就要自行更新「工作排程器」的「動作」執行程式路徑。
重點整理
- 要使用 Https 連線就需要 SSL 憑證
- Let’s Encrypt 可申請免費憑證,而且會自動延長
- 下載安裝 Certbot: win-acme
- win-acme 操作輸入新建立、網域名稱即可自動安裝
- win-acme 在工作排程器會新增憑證過期檢查
相關學習文章
- Windows Server IIS 如何安裝 PHP 網頁伺服器
- WordPress 強制使用 https 連線 (使用 SSL 憑證)
- Windows Server 2019 如何安裝 IIS 運行 ASP.Net 專案
如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝
詢問一下
如果今天軟體回應了 No valid IP addresses found for mobile.xxxxx.com ,而這個 IP 其實是 127.0.0.1 ,用 127.0.0.1 最主要是提供單機的開發與測試,透過 Domain NAME 的方式來對外部網站做一個導向的動作,但這動作並不是在 “對方” 而是會在本機上。
所以要如何排除 No valid IP addresses found for mobile.xxxxx.com IP 127.0.0.1
你的主機是否已有對外的固定IP,因為他需由第3方單位頒發憑證,需要有對外固定IP,才能針對網域及IP給予憑證,如果你只是本機測試用,不能使用第3方的SSL憑證,可以改用IIS內建的自我憑證測試。
謝謝分享, 已經成功申請, 但最後還是看到舊有的CERT. 是否遺留了什麼設定?
舊的憑證,可以手動刪除,不刪也可以等時間過期
我意思是憑證已更新,但網站還是用舊的憑證
檢查一下是不是新舊憑證都有效,而且時間重疊,而系統選擇舊的憑證使用,如果是的話,你可以手動把舊憑證移除
感謝教學~
不客氣,能幫到你我也很開心
感謝,很詳盡!