預設使用 HTTP 進行認證,若是選擇 DNS 認證的「手動 DNS 認證」會因為無法每次都自動更新 TXT 的值,而導致更新失敗,建議 DNS 認證使用 API 進行。
網站未來將透過 HTTPS(Port 443)提供服務,請在防火牆端先設定 HTTPS(Port 443) 放行。
若之前沒有使用,請點選 Quick Start Guide 來建立ACME帳號。 → Step 2-B
反之,在該系統已有使用過,則直接選擇 New Certificate 。 → Step 3
Certify the Web 現在有支援中文介面,但是…是簡體中文,而且翻譯還不夠完全,本範例將採用英文介面進行示範。
若有需要可以自行調整,路徑為:「 Settings → UI Settings → Language 」,修改為重新開啟即可。
選擇認證機構為:Let's Encrypt(註:尚有 Buypass Go SSL、SSL.com、ZeroSSL)
輸入電子郵件信箱(憑證更新異常會發信通知)
勾選「Yes, I Agree」
按下「Register Contact」
進入 Step 3
選擇要使用憑證的站台,即 IIS 管理員內的站台名稱,本範例為:Default Web Site。
輸入要認證的網域名稱,本範例為:test.hcvs.kh.edu.tw。
按下 「+」即可。
系統預設使用 HTTP 進行網域驗證,按下右方的 Test 即可測試連線。
若測試連線沒有異常,則可以進入正式申請步驟。
按下「Request Certificate」即可開始申請憑證。
待憑證申請完畢,系統會自動下載並掛載憑證。
恭禧憑證到手,接下來就是 IIS 設定了。
憑證掛載好之後,接下來需要設定 IIS 的 HTTPS(Port 443) 連線及轉址,讓使用者即使透過 HTTP(Port 80)連過來,也會導向到HTTPS。
開啟IIS後,選擇要本次設定的站台,本範例為:Default Web Site。
點選右側「繫結」,進入站台繫結設定。
點選「新增」,以新增 HTTPS(Port 443) 連線設定。
類型請選擇「https」,系統預設使用連接埠 443,若您的站台使用其他埠號請自行修改。
SSL憑證設定:請使用下拉式選單,選擇剛剛新增好的憑證(可以透過憑證後方的日期顯示判斷),本範例為:test.hcvs.kh.edu.tw。
現在網站已經能夠透過 80 & 443 進行連線了,可以在瀏覽器測試是否能使用 HTTPS(Port 443)進行連線,本範例為:https://test.hcvs.kh.edu.tw。
在IIS中,站台首頁選擇「SSL設定」。
勾選「需要SSL」後按下套用。
此時使用者若透過 HTTP(Port 80)會出現錯誤畫面,僅能透過 HTTPS(Port 443)連線。
我們的希望做到使用者就算使用 HTTP(Port 80)連線,也會強制導向到 HTTPS(Port 443)。
在IIS中,站台首頁選擇「錯誤網頁」。
新增「403.4」錯誤碼。
選擇「回應302重新導向」,並且輸入該站台 HTTPS(Port 443)的網域名稱,本範例使用:test.hcvs.kh.edu.tw,所以在此處的「絕對URL」需輸入「https://網域名稱」,即:「https://test.hcvs.kh.edu.tw」。
如此一來,使用者透過 HTTP(Port 80)連線就不會出錯誤畫面,而是直接導向到 HTTPS(Port 443)
參考資料:黑暗執行緒
點選右側 Authorization 選項,調整 Challenge Type 選項為「 dns-01 」
未完待續
Windows 10、Windows 2012 以上的作業系統可以直接手動建立名為「 .well-known 」的資料夾,若因資料夾名稱問題無法建立,則可以嘗試下列方法。
建立資料夾名稱「.well-known.」後面多加一個「.」即可
通常程式會自動在網站根目錄建立一個認證用的「 .well-known 」資料夾,若無法以新增資料夾的方式建立,則需透過命令提示字元,使用 mkdir 指令
mkdir .well-known