Let’s Encrypt 是一家可以免費申請SSL憑證的單位,以往還需要用下command的方式才能使用,
現在出現一個線上工具 https://www.sslforfree.com/
整個讓所有過程簡單許多,以下將用一步一步的圖文講解,
從申請、驗證方式、Visual Studio的操作到最後整合到Azure Cloud Service ,
注意:這是Azure Cloud Service,不是App Service,文後會有App Service的參考連結.
1.首先到 https://www.sslforfree.com/ 填入你要申請的網站.
2.為了要認證這個網站是你所有擁有,他提供幾種認證方式,我選擇Manual Verification手動認證,因為對我來說這個最簡單最快速.
3.按下之後他會有一個檔案要下載,你必須在網站裡建立兩層的資料夾放置這個檔案
(1).well-known <==請注意那個點
(2)acme-challenge
以便下徒弟五步驟的驗證連結可以順利連接的到,
4.將第三步驟中那個 Download File#1 下載回來,這是一個沒有附檔名的檔案,
使用遠端桌面連到我們的Azure Cloud Service,再次強調, 這是Azure Cloud Service不是App Service!
建立好資料夾並放上剛下載回來的檔案,由於第一層名稱是 .well-known,
點這個符號,在Windows檔案系統裡是不能當資料夾檔名的開頭,
所以先隨便取名ssl_temp,待會再使用IIS虛擬目錄的方式來指定就可以了,
如下圖:(我的習慣是會多放一個圖檔來方便測試連線)
5,因為下載下來要做認證的檔名是沒有附檔名的,為了能讓IIS處理沒副檔名的檔案,要新增一個MIME Types
注意:File name extension 要打 .
6.到站台下新增一個名稱為 .well-known 的虛擬目錄,指向步驟4建立的資料夾。
7.打開瀏覽器看看可不可以看到圖片,http://xxx.yyy.com/.wel-known/acme-challenge/test.jpg
很好,看來是正確的。
於是我們就可以點下圖中第五步驟的連結進行驗證,
點擊驗證連結後出現的視窗畫面如下.
7.按下Download SSL Certificate 按鈕後,進入下載憑證的頁面,如果你沒有帳號,
在這邊可以申請,方便在憑證過期前一星期用e-mail通知(九十天一簽),
也可以在本網站登入檢視擬申請的所有憑證狀況.
8.將憑證打包下載後,解壓縮會有三個檔案, .crt ,如下圖, 但是Azure Cloud Service是需要 .pfx
所以需要OpenSSL這個工具軟體來做轉換.
9.我們到 https://www.openssl.org/去下載 OpenSSL 回來安裝,來對crt檔做轉換
(1) 首先開啟cmd,這邊有一點要注意, 我的習慣在做類似這些操作時我都會使用系統管理員模式來開啟cmd,
避免出現一些不確定的狀況,接下來輸入以下指令,過程中會需要輸入密碼,這個密碼就是將來要匯入時需要輸入的密碼
請注意,這些指令是同一行,這邊換行是大家可以方便閱讀
ps.請自行命名不要天兵到真的把檔案取名叫做請自行命名...
{OpenSSL安裝資料夾}\bin\openssl pkcs12 -export -out
{憑證下載後存放的路徑}\(請自行命名).pfx -inkey
{憑證下載後存放的路徑}\private.key -in
{憑證下載後存放的路徑}\certificate.crt -certfile
{憑證下載後存放的路徑}\ca_bundle.crt
10.將剛剛轉換得到的(自行命名).pfx , 到Azure的管理Portal裡上傳這個憑證,填入先前自訂的密碼,
上傳成功後然後會的到一組ThumbPrint(指紋)
11. 點選WebRole,右鍵點選內容,設定好EndPoint,如下圖
然後請將剛才所得到的ThumbPrint(指紋)寫到雲端設定檔裡面的<Certificates>節點,將網站發行,完工,測試之!!
附註一:使用遠端桌面進入Azure Cloud Service進行的系統或是檔案變更,但是會被洗掉的,
而九十天的期限一到,舊有的憑證會失效,要換新的憑證,所以必須要重新做一次認證!
即便我們可以找到很多資料可以來做自動續簽的功能,但是以上的步驟只是幾分鐘的事情,
"懶"是科技產業進步的一大動力,不過這個神聖的任務就給比我更懶的人吧! XD,
附註二:如果你是使用Azure App Service 請參閱
留言列表