IIS - 自動申請、部署Let's Encrypt的免費SSL證書(讓網站實現HTTPS協議)
一、HTTPS 協議介紹
1,什么是 HTTPS 協議?
- HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的 HTTP 通道,即 HTTP 的安全版。
- 簡單來說 HTTPS 就是在 HTTP 上面加了一層 SSL 協議。我們可以在 HTTP 站點上部署 SSL 數字證書將其變成 HTTPS。
- 對用戶來說最直觀的表現就是當訪問 HTTPS 站點時(比如 https://www.baidu.com),可以看到在地址欄里有一個小綠鎖圖標,說明這個網站使用了 HTTPS 協議。
2,為什么要使用 HTTPS 協議
(1)通過加密通訊連接,可以保證數據傳輸的安全,這點在交易支付方面尤為重要。雖然 SSL 並不是無懈可擊的,但是這樣做起碼可以提高竊聽成本。
(2)使用了 HTTPS 之后,如果網站的訪客是從其他已經使用了 HTTPS 的網站上跳轉過來,你就能在 Google Analytics 中獲取更完整的來源信息。
(3)如果你要部署發布一個 iOS 企業應用,那么下載服務器就必須使用 HTTPS 協議。
3,如何使用 HTTPS 協議
(1)目前想在 web 上使用 HTTPS 的話。你首先需要獲得一個 SSL 證書文件,該證書由一個受瀏覽器信任的公司所簽署。
(2)獲得證書以后,你需要在你的 web 服務器上指定其所在的位置,以及與你關聯的私鑰的位置,並開啟 443 端口准備使用。
二、Let's Encrypt 介紹
1,基本介紹
(1)Let's Encrypt 是國外一個公共的免費 SSL 項目,由 ISRG 聯手組成證書頒發機構,可以簽發免費 SSL/TLS 證書。
ISRG(Internet Security Research Group,互聯網安全研究小組)是一個關注網絡安全的公益組織,其贊助商從非商業組織到財富100強公司都有,包括 Mozilla,Akamai,思科,Facebook,密歇根大學等等。
(2)Let,s Encrypt 是為普及 HTTPS 而發起的,它推動了基礎 DV SSL 證書的普及。其證書已經被 Mozilla、Google、Microsoft 和 Apple 等主流瀏覽器支持,只需要 web 服務器配置好 HTTPS 證書,瀏覽器會在加載時驗證 web 服務器 HTTPS 證書是否有效。
(3)隨着 https 的普及,Let’s Encrypt 目前已成為全球最受歡迎的免費 SSL 證書簽發機構。
2,使用優點
- 完全免費,避免 ISP 劫持
- 申請速度快、無需注冊賬戶
3,注意事項
- Let's Encrypt 的基礎 DV SSL 證書,只提供了數據加密,不驗證身份,無法向用戶證明網站的所有者。但即使這樣也滿足了基本需要了。
- 它一次只會頒發 3 個月有效期的證書,到期之后需要自己再續上(仍然是免費的)。不過我們可以自己寫定時腳本任務或者使用工具來自動續約。
三、使用 Certify 來自動申請並配置證書
1,Certify 介紹
- Certify 是一個可以自動續訂 Let's Encrypt 頒發證書的第三方 GUI 軟件(圖形界面工具)
- 使用它可以自動配置、創建和自動續訂證書,並且到快要續訂的時候會自動發郵件通知我們。
2,使用步驟
(1)首先將 Certify 下載到服務器上並安裝。注意其依賴 Microsoft .NET Framework 4.5,安裝時會提示。
(2)第一次啟動程序時會彈出對話框讓我們填寫個郵箱地址,等證書快要過期的時候我們會收到續訂證書的提醒郵件。這里我們填上常用的 email 地址。
(3)點擊“新建證書”按鈕,certify 會自動掃描 IIS 中的站點,選擇我們要申請證書的域名。完畢后點擊“保存”按鈕進行保存。
(4)保存后點擊“請求證書”按鈕獲取證書。
(5)在申請的同時,Certify 會在網站根目錄下生成 .well-known 文件夾,並自動配置 web.config,自動驗證證書。完全不用我們干預。
(6)待其執行完畢后,返回 Certify 的首頁面可以看到站站點已經成功使用了 Let's Encrypt 的證書了。
(7)我們可以把網站根目錄下之前自動創建的 .well-known 目錄給刪掉,以保持網站目錄干凈。
3,測試檢查
(1)首先使用瀏覽器訪問:
https://www.hangge.com,可以看到地址欄前面已經帶了個小綠鎖,說明 SSL 證書已經成功配置。
(2)打開 IIS 可以看到 SSL 證書確實已經自動配置好了。