替 Azure 的 App Service 網站設定自訂網域後掛上 SSL 憑證 (上)

現在網站不掛上 SSL 憑證作網路加密安全性連線的話,那你的網站只會被檯面上列的出來科技龍頭們(如: Microsoft, Google, Apple, Amazon...等)排擠。

原因很簡單,因為沒有掛上 SSL 憑證替網站作加密安全性連線,那對使用該網站的用戶們來相對來說就是屬於高風險網站,為了保護用戶的資料安全性,替網站掛上 SSL 憑證作加密連線是網站自身一件責無旁貸的事。

但對於一些小企業主或小規模網站來說,要買 SSL 憑證掛到網站上做加密連線確實是一筆不小的花費,如果每年真的擠不出這樣的預算購買憑證,是可以考慮使用 Let's Encrypt SSL 等服務,佛心提供的 SSL 憑證方式來處理。

而若網站又剛好有 Host 在 Azure 的 App Service 上的話...

那可以考慮 "利用 Let’s Encrypt 免費將你的網站升級成 https(使用 Azure App Service)" 的文章介紹,幫網站掛上免費的 SSL 憑證作安全性連線的加密。


而本文要介紹的除了因為網站是使用 Azure 的 App Service 之外,還因為購買網域的網域服務商 GoDaddy 贈送了一個 "標準版 SSL" 的 SSL 憑證服務,所以就幫這個網域的網站掛上了該 "標準版 SSL" 的 SSL 憑證服務。

本文後面假定所購買的網域為: myselfdomain.com。
若有需要了解如何綁定網域到 Azure 的 "App Service : Web 應用程式" 可參考下列文章:
替 Azure 的 App Service 網站設定自訂網域


首先, 在 Azure 上的 App Service 最低必須為 B1 等級,才能同時啟用 "自訂網域" 與 "SSL" 的功能。



GoDaddy 網域服務商贈送的 "SSL 憑證" 服務中的 "標準版 SSL"。


若是 GoDaddy 網域服務商的所提供的其他版本 "SSL 憑證" 應該也適用本文設定方式。


使用 Windows 10 專業版 or 企業版,才有辦法透過 "Internet Information Services (IIS)" 中的 "Web 管理工具" 產生 "SSL 憑證" 的相關設定操作。(若是 Mac 系統,GoDaddy 有相關的指引文件,有興趣的朋友可以自行參考)。

以上三點都滿足的話,就可以按本文照圖操課,完成相關設定了!
 

開始囉~~~
 



先確認 Windows 10 上面有無安裝 IIS 的 "Web 管理工具",在 Windows 設定 當中點選 "應用程式"。 



在 "應用程式" 當中的 "應用程式與功能" 右邊的 "相關設定" 中,點選 "程式和功能" 並且在出現的程式和功能的對話框當中點選 "開啟或關閉 Windows 功能"。



在 Windows 功能對話視窗中,找到 "Internet Information Services (IIS)" 並且確定有勾選 "Web 管理工具" 底下的三個 "IIS 管理主控台"、"IIS 管理服務"、"IIS 管理指令碼及工具"。接著點選 "確定"。

個人的電腦沒有架設 "Web 網站" 的需求,所以沒有勾選 "World Wide Web 服務"。而若是第一次安裝上述選項的工具,那則需要等待 Windows 安裝。


接著就可以啟動 Internet Information Services (IIS) 管理員。



在 IIS 管理員的主畫面當中,找到 "伺服器憑證",並點選兩下進入 "伺服器憑證" 的設定畫面。



在 "伺服器憑證" 設定畫面當中的右側找到 "建立憑證要求" 並點選。



在要求憑證的對話視窗當中,開始設定憑證的資料,注意以下填寫的資料都不得為空(必填),完成後就可以點選 "下一步"。

1. 一般名稱: 填上真實的網域名稱,如本文假設要設定的網域 "myselfdomain.com",那此處就是填上 "myselfdomain.com"。
2. 組織: 填上公司的名稱或是對外稱呼的名稱。
3. 組織單位: 填上在所簽核的單位。(這裡跟組織填寫一樣名稱也是會可以,但不建議。)
4. 根據所在地填寫。

另外,GoDaddy 所贈送提供的 "標準版 SSL" 不是萬用網域的 SSL 憑證,所以請不要打 "*.myselfdomain.com",後面的步驟上傳 CSR 檔時會失敗。


密碼編譯服務提供者選擇 "Microsoft RSA SChannel Cryptographic Provider",位元長度請選擇: "2048" (預設是 1024)。



再來請選擇要存放 "憑證要求" 的檔案路徑與指定檔案名稱。



完成後,可以將此 txt 檔案打開來看,應該會看到如下圖類似的畫面:



接著進到 GoDaddy 的網站,在 "我的產品" 下會找到 "SSL 憑證",點選 "設定"。


一進入 SSL 憑證 設定的時候會出現兩個選項,本文介紹的設定當中是選擇 "使用 CSR"。

點選後就把先前利用 IIS 的 "Web 管理工具" 所產生的 *.txt 內容全部複製,並貼到 GoDaddy 網頁當中的 CSR 輸入框,完成後點選 "下一步"。

包含第一列的 "----- BEGIN ..." 與最後一列的 "----- End..."。


然後就會再到 "憑證設置" 的 "證明網域控制權" 的畫面,選項當中可擇一勾選,接著點選 "繼續"。

由於本文設定的自訂網域也是在 GoDaddy 上所購買的,所以在此設定的過程中只勾選 "變更網站內容,或在 DNS 內新增 TXT 紀錄" 就設定成功了。若在此有設定失敗的狀況,請捧友再自行找相關資料研究。


其他選項當中的 "簽章演算法" 有兩個可以選。

其一: GoDaddy SHA-2。


其二: Starfield SHA-2。



無論上述點選何者 "簽章演算法",都可以在勾選 "我同意以下條款與條件" 後點選 "繼續"。




接著會進入到 "完成網域控制" 的畫面,確認設定沒有問題,即可點選 "完成" 離開。


此處的兩個 "簽章演算法" 的差異個人沒有去特別細究,還望有捧友能夠聯繫告知。


完成後,GoDaddy 會回到 "憑證" 的畫面,會看到網域的 SSL 憑證 的狀態處於 "待驗證"。



在 GoDaddy 的網頁上也可點選 "SSL 憑證" 進入到這個畫面。



如果看到 SSL 憑證狀態已變更為 "憑證已核發"。



可點選 "myselfdomain.com" 網域進入查看網域的憑證資料。



可在此設定 "顯示您的 SSL 憑證安全性簽章",最後點選 "啟用"。



點選 "啟用" 後會出現一段 HTMT 碼可嵌入到網站的頁面中顯示(感覺比較厲害?)。



在此畫面點選 "下載"。



由於本文要設定的網站是 Host 在 Azure 的 App Service 並且當初是選擇執行在 Windows 的系統上,所以這邊選擇伺服器類型是選擇 "IIS" ,接著點選 "下載 Zip 檔案"。



接著就會開始下載該 Zip 檔案到電腦當中,下載完畢後打開該 Zip 檔案,裡面會有三個檔案 "*.p7b"、"*.crt"、"*.pem"。

寫到這邊,終於大致上完成前半段的設定事宜,咱們期待 下回 見吧~~~

 


 


I'm a Microsoft MVP - Developer Technologies (From 2015 ~).
 

MVP_Logo



I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.

If you want to know more about them, welcome to my website:
https://jamestsai.tw 


本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。