Let’s Encrypt(https://letsencrypt.org )是可以簽發(fā)免費(fèi)SSL/TLS證書的CA機(jī)構(gòu),它是為普及HTTPS而發(fā)起的,推動了基礎(chǔ)DV SSL證書的普及。其證書已經(jīng)被Mozilla、Google、Microsoft和Apple等主流瀏覽器支持,只需要web服務(wù)器配置好HTTPS證書,瀏覽器會在加載時驗(yàn)證web服務(wù)器HTTPS證書是否有效。
使用Let’s Encrypt一個很重要的理由是免費(fèi),避免ISP劫持;還有申請速度快、無需注冊賬戶等優(yōu)點(diǎn)。在對比了眾多免費(fèi)CA后,Let’s Encrypt是比較方便和理想的,它提供了基礎(chǔ)DV SSL證書,只提供了數(shù)據(jù)加密;不驗(yàn)證身份,無法向用戶證明網(wǎng)站的所有者。但即使這樣也滿足了基本需要了。
不推薦使用沃通 (WoSign)證書。
PS:
目前主流的SSL證書主要分為DV SSL、OV SSL、EV SSL。
DV SSL
最簡易,只提供數(shù)據(jù)加密功能,不驗(yàn)證身份。目前免費(fèi)SSL證書都是這個類型。
OV SSL
提供加密功能,會驗(yàn)證身份,可信度更高。收費(fèi)。
EV SSL
安全級別、可信度最高的SSL證書,用于金融證券、銀行、網(wǎng)上支付網(wǎng)站,強(qiáng)調(diào)網(wǎng)站安全和企業(yè)形象。收費(fèi)最貴。
Let’s Encrypt工具有很多,不同的平臺使用不同的工具和方法。windows平臺推薦使用letsencrypt-win-simple(https://github.com/Lone-Coder/letsencrypt-win-simple/releases )申請證書,簡單快速。
下面是實(shí)踐中,windows server使用letsencrypt-win-simple客戶端部署HTTPS。部署中碰到的問題和解決方案放在了文章末尾。
1.準(zhǔn)備工作
1.1 設(shè)置DNS
在DNS服務(wù)器設(shè)置正確的域名(二級域名、三級域名都可以)
1.2 下載運(yùn)行l(wèi)etsencrypt-win-simple:
下載最新版本letsencrypt-win-simple(https://github.com/Lone-Coder/letsencrypt-win-simple/releases )
在服務(wù)器上解壓letsencrypt-win-simple,解壓后文件結(jié)構(gòu)如下:

1.3 letsencrypt-win-simple運(yùn)行環(huán)境
雙擊letsencrypt.exe,運(yùn)行需要.NET運(yùn)行環(huán)境,點(diǎn)擊安裝就可以了:

2.IIS部署HTTPS站點(diǎn)
2.1 自動化認(rèn)證單個域名
在服務(wù)器上,終端cd到letsencrypt.exe文件夾,鍵入如下命令:
letsencrypt.exe —accepttos —manualhost pre.YourDomain.com —webroot D:\ssl.api.MyHost.com
使用webroot方式申請證書
Let’s Encrypt服務(wù)器會訪問命令中的服務(wù)器路徑,用于驗(yàn)證這個網(wǎng)站是否屬于你,成功后會生成臨時的認(rèn)證文件。
出現(xiàn)如下文字說明成功了:

會將公鑰和私鑰放在C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple下,這個路徑會在Nginx部署時用到。
這個過程中,如果驗(yàn)證不通過,是因?yàn)镮IS需要修改配置,具體見附錄-問題一。
2.2 部署HTTPS站點(diǎn):
在Windows Server上增加站點(diǎn):

3.附錄:
3.1 出現(xiàn)的問題一:

出現(xiàn)這個錯誤表示生成的這個臨時文件訪問不到,驗(yàn)證不通過。
原因是因?yàn)?code>.well-know這個文件夾帶了前綴 . ,IIS會認(rèn)為是不可識別的 MIMEType ,只需要在網(wǎng)站根目錄下臨時加上 MIMEType 配置即可:
IIS上新增MIME Type方法:

3.2 出現(xiàn)的問題二:

這是域名問題,域名輸錯或者設(shè)置錯誤,需要重新檢查輸入的命令。