1、網站部署javascript
LetsEncrypt-Win-Simple能夠自動發現已經部署的網站供咱們選擇要生成證書的網站,並且還須要進行驗證。因此在生成證書以前,確保網站已經部署好並能夠正常訪問。
html
2、生成證書java
軟件下載地址以下:git
https://github.com/Lone-Coder/letsencrypt-win-simple/releasesgithub
直接下載zip壓縮包就好,下載完以後解壓運行裏面的letsencrypt.exe打開控制檯窗口,第一次運行會提示你輸入一個郵箱以供後續使用。api
Let's Encrypt (Simple Windows ACME Client)安全
Renewal Period: 60服務器
Certificate Store: WebHosting
app
ACME Server: https://acme-v01.api.letsencrypt.org/工具
Config Folder: C:\Users\ling\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org
Certificate Folder: C:\Users\ling\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org
Getting AcmeServerDirectory
Enter an email address (not public, used for renewal fail notices):
輸入一個可用郵箱回車即開始註冊,並問你是否贊成協議
Calling Register
Do you agree to https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf? (Y/N)
輸入Y回車,郵箱註冊完以後,程序會自動獲取當前服務器部署的全部網站,以下:
Scanning IIS Site Bindings for Hosts
1: IIS xxling.com (D:\www\xxx)
2: IIS www.xxling.com (D:\www\xxx)
W: Generate a certificate via WebDav and install it manually.
F: Generate a certificate via FTP/ FTPS and install it manually.
M: Generate a certificate manually.
A: Get certificates for all hosts
Q: Quit
Which host do you want to get a certificate for:
輸入1或者2就會爲相應的域名生成證書,M爲手動生成一個證書,A則爲全部域名生成證書。這裏咱們選擇A而後回車繼續,生成完證書程序還會自動爲相應網站配置IIS的SSL。選擇了A以後生成的證書在C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org下,具體看後面輸出的提示會有位置信息。
因爲Let's Encrypt免費SSL證書只有90天的有效期,過時須要更新,該程序會生成一個計劃任務,天天上午9點鐘運行檢查過時的證書並更新。因此生成完成證書會提示你是否是須要指定用戶運行刷新證書的計劃任務(會顯示下次過時的時間),選擇Y,輸入相應的用戶和密碼便可。
注意:生成的計劃任務的執行程序默認是生成證書時的letsencrypt.exe的路徑,請到管理工具-計劃任務查看相應任務屬性,確認action的letsencrypt.exe路徑對不對,若是移動到其它地方了也須要進行相應修改,不然會執行失敗!
3、IIS配置
打開IIS,查看域名綁定,就會看到多了443的端口綁定,證書也以配置好。重啓一下iis,經過https訪問就能夠了。
若是是手動配置,在IIS7配置https綁定是host name那欄灰掉,不可輸入,此時若是須要指定相應的域名,能夠打開如下位置文件:
C:\Windows\System32\inetsrv\config\applicationHost.config
搜索相應域名找到該網站的配置節點,你會發現不輸入域名是的https配置以下
<binding protocol="https" bindingInformation="*:443:" />
將其改成
<binding protocol="https" bindingInformation=":443:www.xxling.com" />
便可,域名改成本身實際的域名。
其次,要注意的是,IIS只能綁定一個SSL證書,這生成證書的新版軟件好像沒有多域名證書生成的選項了,因此只能把其餘域名重定向到有證書的域名上。
4、強制HTTPS訪問
首先IIS配置選中要求SSL選項
IIS6中,站點屬性-》目錄安全性-》編輯中把「要求安全通道(SSL)」勾選上便可。
IIS七、8中,SSL設置-》把「要求SSL」勾選便可
此時經過http訪問的話會報403錯誤,咱們找到403的html頁面,加入如下JavaScript腳本進行跳轉:
<script type="text/javascript">
var url = window.location.href;
if (url.indexOf("https") < 0) {
url = url.replace("http:", "https:");
window.location.replace(url);
}
</script>
403文件所在路徑以下:
IIS6.0 :C:\WINDOWS\Help\iisHelp\common\403-4.htm
IIS7.0以上 :C:\inetpub\custerr\zh-CN\403.htm
若是使用的英文版系統zh-CN可能爲en-US或者其它。
此時咱們經過http訪問咱們的網站時就會自動跳轉到https了。