背景:
由於最近小程序的發布需要https協議,所以需要將站點升級到https
環境;
域名:騰訊雲的域名
服務器:騰訊雲window服務器
搭建站點環境:Window2008 + IIS + MYSQL + PHP5.6-nts
步驟一:需要材料:
ssl證書
①、購買證書
https://console.cloud.tencent.com/ssl
接下來是將這個解析值放在域名解析中,可參考騰訊雲的說明文檔
https://cloud.tencent.com/document/product/400/4142
解析完成后有個等待騰訊雲CA 審核
審核成功之后顯示如下
下載證書
選擇對應環境的ssl證書
步驟二:配置
接下來是將ssl導入並綁定域名操作(可參考騰訊雲的說明手冊:https://cloud.tencent.com/document/product/400/35225)
證書安裝
- 已在 SSL 證書管理控制台 中下載並解壓縮
www.domain.com
證書文件包到本地目錄。
解壓縮后,可獲得相關類型的證書文件。其中包含 IIS 文件夾和 CSR 文件:- 文件夾名稱:IIS
- 文件夾內容:
www.domain.com.pfx
證書文件keystorePass.txt
密碼文件(若已設置私鑰密碼,則無keystorePass.txt
密碼文件)
- CSR 文件內容:
www.domain.com.csr
文件說明:CSR 文件是申請證書時由您上傳或系統在線生成的,提供給 CA 機構。安裝時可忽略該文件。
- 打開 IIS 服務管理器,選擇計算機名稱,雙擊打開 “服務器證書”。如下圖所示:
- 在服務器證書窗口的右側 “操作” 欄中,單擊【導入】。如下圖所示:
- 在彈出的 “導入證書” 窗口中,選擇證書文件存放路徑,輸入密碼,單擊【確定】。如下圖所示:
說明:
申請證書時若設置了私鑰密碼,輸入密碼時,請輸入私鑰密碼。若申請證書時未設置私鑰密碼,輸入密碼時,請輸入 IIS 文件夾中 keystorePass.txt 文件的密碼。具體操作請參考 私鑰密碼指引。
- 選擇網站下的站點名稱,並單擊右側 “操作” 欄的【綁定】。如下圖所示:
- 在彈出的 “網站綁定” 窗口中,單擊【添加】。如下圖所示:
- 在 “添加網站綁定” 的窗口中,將網站類型設置為 https,端口設置為443,並指定對應的 SSL 證書,單擊【確定】。如下圖所示:
注意:選擇https類型 主機名為不可輸入的解決方案,
(1)我們可以通過手工修改 IIS 配置來實現主機頭綁定。打開如下位置的文件。
C:\Windows\system32\inetsrv\config\applicationHost.config
(2)找到如下節點位置:
<bindings> <binding protocol="net.tcp" bindingInformation="808:*" /> <binding protocol="net.pipe" bindingInformation="*" /> <binding protocol="net.msmq" bindingInformation="localhost" /> <binding protocol="msmq.formatname" bindingInformation="localhost" /> <binding protocol="http" bindingInformation="*:80:www.hangge.com" /> <binding protocol="https" bindingInformation="*:443:" /> </bindings>
(3)我們將高亮的部分修改成如下配置:
<binding protocol="https" bindingInformation="*:443:www.hangge.com" />
(4)修改完畢后回到 IIS 這邊(不用重啟),可以看到主機名已經成功綁定上了。
8.添加完成后,即可在 “網站綁定” 窗口中查看到新添加的內容。如下圖所示:
HTTP 自動跳轉 HTTPS 的安全配置(可選)
執行下列步驟前請下載安裝 rewrite 模塊。
說明:
- 正常跳轉可按照下列編輯規則。若您有其他需求可以自己設置。
- HTTP 跳轉 HTTPS 過程中,如果您的網站元素中存在外部鏈接或者使用的 HTTP 協議,導致整個頁面不完全是 HTTPS 協議。部分瀏覽器會因為這些因素報不安全的提示,例如鏈接不安全。您可以單擊不安全頁面中的 “詳細信息” 查看報錯原因。
- 打開 IIS 服務管理器。
- 選擇網站下的站點名稱,雙擊打開 “URL 重寫”。如下圖所示:
- 進入 “URL 重寫” 頁面,並單擊右側 “操作” 欄的【添加規則】。如下圖所示:
- 在彈出的 “添加規則”窗口中,選擇【空白規則】,單擊【確定】。如下圖所示:
- 進入 “編輯入站規則” 頁面。如下圖所示:
- 名稱:填寫強制 HTTPS。
- 匹配URL:在 “模式” 中手動輸入
(.*)
。 - 條件:展開
,單擊添加,彈出 “添加條件” 窗口。
- 條件輸入:
{HTTPS}
。 - 檢查輸入字符串是否:默認選擇與模式匹配。
- 模式:手動輸入
^OFF$
。
- 條件輸入:
- 操作:填寫以下參數。
- 操作類型:選擇重定向。
- 重定向 URL:
https://{HTTP_HOST}/{R:1}
。 - 重定向類型:選擇參閱其他(303)。
- 單擊 "操作" 欄的【應用】保存。
- 返回網站首頁,單擊右側 “管理網站” 欄的【重新啟動】。即可使用
http://www.domain.com
進行訪問。
好了,以上是安裝並配置ssl的過程
安裝過程可能遇到的問題
①、使用https不能訪問
原因:檢查騰訊雲的雲服務中的安全組中是否開啟443端口並關聯實例,這點很重要。為了找出這個原因,折騰了好幾個小時
②、其余原因:
參考的:https://baijiahao.baidu.com/s?id=1616571603148790567&wfr=spider&for=pc
windows服務器IIS下部署SSL之后https頁面打不開的解決辦法
對於我們一些草根站長來說配置https唯一的目的可能是看起來比較有檔次、比較裝逼,雖然都知道http是關於安全的,但是具體一個什么樣的安全體系很多人並不知道,下面整理一下配置SSL的好處。
保障網站以及用戶的數據安全,網站安裝SSL證書后可以啟用https協議來進行訪問,從而實現數據信息在客戶端和服務器之間的加密傳輸,可以很好的防止用戶隱私信息如用戶名、密碼、交易記錄、居住信息等被竊取和纂 改,最終保障網站數據傳輸安全。ssl證書可以識別假冒網站。由於SSL證書可以認證服務器真實身份,因此,它能有效的區別假冒釣魚網站和官方網站。同時,企業網站安裝SSL證書后,瀏覽器內置安全機制,實時查驗證書狀態,通過瀏覽器向用 戶展示網站認證信息,從而讓用戶輕松驗證網站真實身份,識別欺詐、釣魚等假冒網站。提升企業形象。如果企業網站安裝了一個由權威證書簽發機構簽發的SSL證書,不僅就能突顯網站的專業性,而且還能提升網站訪問者的信任度。當然,如果部署的是高級一些的EV SSL證書,還會顯示綠色地址 欄和單位名稱,這就告訴用戶其訪問的是安全、可信的站點,可以大大提升企業的形象和可信度。不會配置的朋友可以參考我之前的一篇文章:windows服務器IIS配置ssl證書的步驟
不好意思跑題了,這篇文章的主要目的是分享我在iis下配置SSL之后出現頁面不能訪問的問題的解決方法。
頁面打不開首先檢查幾點:1、證書自身問題,例如證書是否已經簽發、域名綁定是否正確 2、服務器防火牆問題 3、iis部署有有誤 4、服務器安全組是否配置了443端口。
檢查證書問題
證書上面有授予的域名,查看是否和你在服務器上綁定的域名是一致的。

服務器防火牆檢查
打開控制面板->點擊“windows防火牆”->點擊“允許應用或功能通過windows防火牆”->查看“安全萬維網服務(https)”的專用和公用是否已經勾上,沒勾上的話要勾上否則肯定不能訪問。
服務器安全組配置
安全組這塊配置一般是在服務器商那邊設定,如果是虛擬主機可能需要聯系服務器商解決,我這邊是阿里雲的服務器,所以到阿里雲后台可以自行操作。
進入雲服務器ECS一欄,點擊左側導航的“安全組”然后點擊“配置規則”
進入規則配置列表查看是否已經允許443端口出入,如果沒有的話點擊右上角“添加安全組規則”,接下在配置一個443端口。
協議類型選擇“HTTPS(443)”,授權對象0.0.0.0/0指的是允許所有的ip訪問你的443端口,然后點擊確定,就完成配置。
微信小程序在iOS端,出現SSL錯誤,無法建立安全連接的問題解決
主要是因為使用的sever2008 IIS7 默認使用的SSL2.0,而iOS微信需要使用TLS 1.2。
只要修改一下,啟用server 2008 的TLS 1.2就可以了。
具體方法可以參考https://support.quovadisglobal.com/kb/a433/how-to-enable-tls-1_2-on-wind...
簡單來說就是:
打開注冊表編輯器,找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
在下面新建項 TLS 1.2 ,在TLS1.2 下面建立Client和Server2個項,在2各項下面分別添加 DisabledByDefault Enabled
前者為0 后者為1.
接着設置ssl服務為0即可
改好之后重啟服務器即可
(以上親測可用),IOS馬上就可以安全連接