[Azure]Web App自訂網域與憑證申請

設定 Web App 的自訂網域,並且透過 SSL for Free 申請免費的憑證使用

最近因為工作異動, 要做一些交接, 因此就順便整理一下在 Azure Web App 設定自訂網域和憑證申請的處理流程。

目前我是透過 SSL for Free 來申請免費的憑證,主要是給一些開發區和測試用的網站使用,因為雖然公司有購買根網域的憑證,但如果我的域名是在子網域下,就無法使用該憑證,反正只是測試用,就申請免費的來使用。只是免費的缺點就是每三個月要重新申請一次了。

申請基本上是蠻簡單的,只要網頁上輸入要申請的資料即可,按下建立憑證的按鈕。

有幾種驗證您擁有該網域的方式,反正 DNS 是我自己管理,我就採用 DNS 驗證的方式來進行。

按下後他會提示您採用 DNS 驗證的方式,就按下下方的「Manually Verify Domain」的按鈕

他會提示您一些要在 DNS 內所加入的資訊

因為我是採用 Azure DNS 服務,就可以在該服務內,按照前面畫面所提供的資訊,加入到 DNS 內。

設定好 DNS 後,在 SSL For Free 網頁上可以按下驗證的連接,應該可以看到類似以下的資訊,那就表示您 DNS 上的資訊設定正確了

驗證無誤之後,就可以按下下方「Download All SSL Certificate Files」的按鈕,將憑證檔案壓縮成 zip 檔案下載下來使用。


目前 SSL for Free 提供的憑證格式,並非 Azure 所採用的 pfx 格式,因為懶得背指令去轉換,就找一個線上轉換的網頁來處理,測試過幾個之後,我決定使用  LeaderSSL 上所提供的線上 SSL 轉換工具 (https://www.leaderssl.com/tools/ssl_converter ),有一些線上工具雖然也有提供轉換,並卻不允許您匯出 pfx 的時候指定密碼,這樣會造成轉出來的 pfx 檔案無法提供給 Azure 使用。

它的使用方式蠻簡單的,只要把 SSL for Free 下載回來的憑證和私鑰上傳上去,並且指定一組 pfx 的密碼後,按下下方 convert 的按鈕,就可以下載回來帶有密碼的 pfx 格式的憑證了。

當擁有憑證之後,在我們原本的 web app 下面的「自訂網域」中,本來所加入的自訂網域他會因為沒有 SSL 憑證,因此顯示不安全,此時我們就可以在旁邊的「新增繫結」來加入剛剛取得的憑證

因此我們這裡選擇我們剛剛轉換出來的 pfx 格式的憑證,並且輸入轉換時所設定的密碼,就可以讓憑證上傳到 Azure 上了

上傳完成之後,我們就可以將我們的網域名稱綁定該憑證了

並且將網站設定為僅限制 HTTPS

並且調整組態內的設定,讓網站走 HTTP/2 的通訊協定

當我們完成上述相關設定之後,這樣我們連上我們的測試站台,就可以用自訂網域並且搭配 SSL 的憑證了

ps1. 其他也有其他支援線上轉換 pem 格式成為 pfx 的工具,像是 https://www.sslshopper.com/ssl-converter.html ,https://ssl4less.eu/ssl-tools/convert-certificate.html , https://decoder.link/converter 其實都蠻方便使用的。