2017年2月12日 星期日

windows server 2008r2 IIS 申請 免費 SSL 憑證

[原因]
今天本來要來嘗試串接Line的Bot Api來玩樂一下,結果發生了一件慘案....那就是需要SSL才能串接他的Bot功能...
一開始是先嘗試使用IIS自帶的憑證驗證,不過說是憑證不安全之類的...後來不死心又到Google上面尋找,
好險把Google搜尋能力點滿的我還真的成功的尋找到免費的SSL也成功 掛載到IIS上使用。


[心得]
越來越重視資訊安全的情況下,SSL已經是不可或缺的一環,也已經在很多平台上視為標準規範,如何在這樣的情況下快速的建立可以運行的環境感覺也變的非常重要,不然等到正式SSL下來菜花都涼了,感覺這樣搭配著使用開發測試是個蠻好的選擇,NO-IP+sslforfree 感覺是非常棒的開發測試選擇可以快速建置又是免費( 明明就是你是個窮鬼開發者不然用Microsoft Azure就解決了),當然如果是要在正式的環境下,建議各位這個還是找個需要註冊付費的SSL,這個錢省了未來應該會蛋疼。

===需要準備===
Domain :
     如果沒有自己的 Domain 建議可以使用 NO-IP 這個也是免費的,而且還支援浮動IP,NO-IP的支援浮動IP的的概念大概是在Server上面裝套它們的軟體然後每多久時間會去掃一次Server現在的對外IP,然後在回傳到你NO-IP 上的設定,更新速度也很快之前測試大概10分鐘內改動的     內容就生效了 非常適合拿來惡搞測試開發。
OpenSSL:
     文章內有介紹安裝及使用方式。
===環境===
windows server 2008r2










路徑:服務位置 + \ .well-known\acme-challenge\ +下載的檔案
這裡要兩點注意要注意
第一點 就是在新增.well-known直接輸入是無法新增的需要輸入.well-known.才能新增
第二點 .well-known 和 acme-challenge 這兩個資料夾是手動新增的



然後就會出現快樂404~接著你就一直尋找為什麼這個王X蛋無法連結

原來文件裡面就有寫到了如果你是使用IIS的話要到MIME設定沒有副檔名文件的預設開啟方式是text/plain

MIME設定

新增

副檔名輸入:.
MIME類型輸入:text/plain



如果沒有出現類似的畫面代表你沒有設定好請在設定一次



看到這個東西代表成功的驗證這個Domain是你的了

接下來找到 Download All SSL 點擊下載檔案。

這中間還有一個要你建立帳號的,建議可以創建一個帳號,只需要Email跟密碼,此免費SSL是3個月有效,如果要延長使用時間只要刷新就可以了
,創建的帳號Email會寄信通知您快要到期了。


 在C磁碟中新增一個SSL資料夾並且把下載的壓縮檔丟進去

解壓縮完後應該會有三個檔案,然後IIS掛載需要的是pfx那怎麼辦呢?
這時候就須要用OpenSSL+上面的三個檔案來產生pfx

進入https://slproweb.com/products/Win32OpenSSL.html 網站下載 Win32 OpenSSL v1.1.0d並且解壓縮安裝









安裝完後如果是預設路徑就是在C:\OpenSSL-Win32\bin 如果不是就是在你安裝的路徑下然後找到bin資料夾下面

找到資料夾後再紅色框框部分輸入Cmd然後按下Enter


輸入指令
openssl pkcs12 -export -out C:\SSL\sslforfree\cert.pfx -inkey C:\SSL\sslforfree\private.key -in C:\SSL\sslforfree\certificate.crt -certfile C:\SSL\sslforfree\ca_bundle.crt
說明
openssl pkcs12 -export -out 要產出pfx的輸出路徑+檔名 -inkey 證書的路徑 -in 私鑰的路徑 -certfile CA的路徑
我自己的裡講上來說就是用剛剛下載的檔案產出pfx

然後建立一組密碼(注意要記得後面會用的到)

然後重複輸入密碼(注意要記得後面會用的到)輸入完後等他跑完後會再次跑出路徑代表完成了。

再到剛剛指定的路徑下確認是否產出 cert.pfx(我剛剛的做法是放在C:\SSL\sslforfree\cert.pfx )

然後開始到IIS掛載SSL


選擇匯入


選擇使用OpenSSL產出的cert.pfx然後輸入剛剛輸入的密碼。


完成後就可以在伺服器憑證的選項中看到匯入的SSL。



接下來要把SSL掛到站台上去

選擇新增

選擇https

選擇剛剛匯入的SSL應該會是你的Domain

最後輸入你的網址https看是否是有憑證的狀態


PS.如果有侵權等狀況發生,麻煩再告知我,我會將此片文章修改或是刪除,感恩。


參考文章:

3 則留言:

解決'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上的問題

  解決'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上的問題 環境 Server:Windows Server 2012 R2 Debug IDE: VS2019 Step1 確認是否有安裝Microsoft Access Dat...