IIS7下配置SSL的方法分析
當(dāng)SSL運(yùn)行于內(nèi)核模式時(shí),會(huì)將SSL綁定信息保存在兩個(gè)地方。第一個(gè)地方,綁定配置保存在%windir%\System32\inetsrv\config\applicationHost.config中,當(dāng)站點(diǎn)啟動(dòng)時(shí),IIS7發(fā)送綁定信息給HTTP.sys,同時(shí)HTTP.sys會(huì)在特定的IP和端口監(jiān)聽請(qǐng)求。第二個(gè)地方,與綁定相關(guān)聯(lián)的SSL配置保存在HTTP.sys配置中。使用netsh命令可以查看保存在HTTP.sys的SSL綁定配置:
netsh http show sslcert
當(dāng)一個(gè)客戶開始連接并初始化SSL協(xié)商時(shí),HTTP.sys在它的配置中查找這個(gè)IP:Port對(duì)應(yīng)的SSL配置。這個(gè)SSL配置必須包括證書hash值和名稱:
l 在ApplicationHost.config中確認(rèn)這個(gè)綁定是否存在
l HTTP.sys中是否包含有效證書的hash值以及命名是否存在
選擇證書時(shí),需要考慮以下問題:
是否想讓最終用戶能夠通過你提供的證書確認(rèn)你服務(wù)器的唯一性?
如果是的,則
要么建立一個(gè)證書請(qǐng)求,并且發(fā)送證書請(qǐng)求到證書權(quán)威機(jī)構(gòu)(CA),比如VeriSign或者GeoTrust;
要么從Intranet的在線CA那里獲取一個(gè)證書
瀏覽器一般用三樣?xùn)|西來確認(rèn)服務(wù)器證書的有效性:
1. 當(dāng)前日期在證書的有效期范圍內(nèi)
2. 證書的“Common Name”(CN)與請(qǐng)求中的主機(jī)名相匹配。比如,如果客戶發(fā)起了一個(gè)到http://www.contoso.com的請(qǐng)求,則CN必須是這樣的:http://www.contoso.com/
3. 證書的發(fā)行者是已知的和受到信任的CA
如果其中有1項(xiàng)失敗,瀏覽器就會(huì)警告用戶。如果你有個(gè)Internet站點(diǎn)或者你不怎么熟的Intranet用戶,那你就需要確保這3項(xiàng)是都通過的。
自簽名的證書可以用你自己的計(jì)算機(jī)創(chuàng)建。如果最終用戶不重要,或者他們信任你的服務(wù)器,又或者用于測(cè)試環(huán)境,則這種自簽名證書將會(huì)非常有用。
Ø 使用WMI來綁定SSL證書
使用WMI命名空間,是不能夠請(qǐng)求或者創(chuàng)建證書。
建立SSL綁定
以下腳本展示了如何建立SSL綁定,以及添加相應(yīng)信息到HTTP.sys中:
Set oIIS = GetObject("winmgmts:root\WebAdministration")
'''''''''''''''''''''''''''''''''''''''''''''
' CREATE SSL BINDING
'''''''''''''''''''''''''''''''''''''''''''''
oIIS.Get("SSLBinding").Create _
"*", 443, "4dc67e0ca1d9ac7dd4efb3daaeb15d708c9184f8", "MY"'''''''''''''''''''''''''''''''''''''''''''''
' ADD SSL BINDING TO SITE
'''''''''''''''''''''''''''''''''''''''''''''
Set oBinding = oIIS.Get("BindingElement").SpawnInstance_
oBinding.BindingInformation = "*:443:"
oBinding.Protocol = "https"
Set oSite = oIIS.Get("Site.Name='Default Web Site'")
arrBindings = oSite.Bindings
ReDim Preserve arrBindings(UBound(arrBindings) + 1)
Set arrBindings(UBound(arrBindings)) = oBinding
oSite.Bindings = arrBindings
Set oPath = oSite.Put_
注意:證書的hash值和名稱必須引用了你服務(wù)其上真實(shí)且有用的證書。如果其中有一項(xiàng)虛假,就會(huì)出現(xiàn)錯(cuò)誤。
注意:證書的hash值和名稱必須引用了你服務(wù)其上真實(shí)且有用的證書。如果其中有一項(xiàng)虛假,就會(huì)出現(xiàn)錯(cuò)誤。
配置SSL設(shè)置
以下腳本展示了如何通過IIS7的WMI提供程序來設(shè)置SSL。
CONST SSL = 8
Set oIIS = GetObject("winmgmts:root\WebAdministration")
Set oSection = oIIS.Get( _
"AccessSection.Path='MACHINE/WEBROOT/APPHOST',Location='Default Web Site'")
oSection.SslFlags = oSection.SslFlags OR SSL
oSection.Put_
使用IIS管理器來綁定SSL證書
獲取一個(gè)證書
在樹目錄中選擇服務(wù)器節(jié)點(diǎn),在右面雙擊Server Certificates圖標(biāo):
單擊Create Self-Signed Certificate…按鈕:
輸入新證書的名字后單擊OK。
現(xiàn)在你有了一個(gè)自簽名證書。這個(gè)證書被標(biāo)記為”服務(wù)器端驗(yàn)證”
建立SSL綁定
選擇一個(gè)站點(diǎn),在Actions面板中單擊Bindings…。會(huì)顯示出添加、修改、刪除綁定對(duì)話框。單擊Add…按鈕添加新的SSL綁定。

默認(rèn)設(shè)置是80端口,在類型下拉框中選擇https,在SSL Certificate下拉框中選擇你剛才建立的自簽名證書名字,單擊OK。
現(xiàn)在你已經(jīng)完成SSL綁定的建立工作了,剩下的就是要確認(rèn)是否工作正常了。
Ø SSL綁定的確認(rèn)
在Actions面板中,在Browse web site下,單擊剛才增加的綁定
由于這個(gè)證書是個(gè)自簽名的證書,IE7會(huì)顯示一個(gè)錯(cuò)誤頁面。
單擊Continue to this website(not recommended).繼續(xù)
Ø 配置SSL設(shè)置
當(dāng)你要求用戶必須使用證書,又或者必須SSL方式連接時(shí),你需要配置SSL設(shè)置。雙擊SSL Settings如下圖:
- Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題
- python腳本監(jiān)聽域名證書過期時(shí)間并通知消息到釘釘(最新推薦)
- shell腳本檢查域名證書是否過期的流程分析
- iis提示尚未創(chuàng)建默認(rèn)SSL站點(diǎn),若要支持不帶SNI 功能的瀏覽器,建議創(chuàng)建一個(gè)默認(rèn)SSL站點(diǎn)
- IISCrypto(SSL/TLS一鍵配置工具) iis服務(wù)器如何開啟tls v1.2協(xié)議
- 一個(gè)SSL證書在線轉(zhuǎn)換工具以及IIS7環(huán)境下開通https的方法
- IIS站點(diǎn)綁定/切換SSL證書的實(shí)現(xiàn)
- IIS10服務(wù)器安裝SSL證書的圖文教程
- iis服務(wù)器如何安裝ssl證書
- IIS服務(wù)器配置阿里云https(SSL)證書的方法
- Microsoft?iis服務(wù)器安裝ssl證書(https)的簡(jiǎn)單方法
- IIS綁定SSL證書的方法(圖文詳解)
- 制作能在nginx和IIS中使用的ssl證書
- 在win2008 r2 英文版 IIS7.5上配置Https,SSL的方法
- 有了SSL證書,如何在IIS環(huán)境下部署https
- startssl申請(qǐng)SSL證書 并且配置 iis 啟用https協(xié)議
- win2000服務(wù)器在IIS中使用SSL配置HTTPS網(wǎng)站
- World Wide Web Publishing 服務(wù)嘗試刪除 IIS 所有的 SSL 配置數(shù)據(jù)失敗的幾種方法
- windows server 2019 IIS10配置SSL或更新域名證書(https)
相關(guān)文章
asp.net iis7默認(rèn)文檔錯(cuò)誤異常的解決方法
當(dāng)修改默認(rèn)文檔時(shí)IIS提示異常信息,錯(cuò)誤原因是IIS中已經(jīng)設(shè)置了默認(rèn)文檔為default.aspx,這個(gè)時(shí)候就出現(xiàn)的沖突,引發(fā)的異常2014-01-01
IIS自定義404錯(cuò)誤頁避免暴露.NET網(wǎng)站路徑信息
這篇文章主要介紹了IIS自定義404錯(cuò)誤頁避免暴露.NET網(wǎng)站路徑信息,在輸入非.aspx頁面時(shí),顯示默認(rèn)404頁面,暴露站點(diǎn)路徑信息,本文就給出了一個(gè)解決方法,需要的朋友可以參考下2015-06-06
沒有ISAPI Rewrite FULL照樣玩多站點(diǎn)偽靜態(tài)的方法分享
IIS中增加URL Rewrite功能,最多人選用的是名為“ISAPI Rewrite“的軟件,網(wǎng)上下載的破解版,其實(shí)破解不完善,最終會(huì)不能用2011-11-11
Event filter with query SELECT * FROM __InstanceModification
這篇文章主要介紹了Event filter with query SELECT * FROM __InstanceModificationEvent WITHIN ,需要的朋友可以參考下2015-09-09
windows 服務(wù)器安全之磁盤訪問權(quán)限設(shè)置[完整篇]
在眾多的服務(wù)器安全設(shè)置中,對(duì)于權(quán)限的設(shè)置是比較完整的了2009-06-06
win2003 服務(wù)器設(shè)置完全簡(jiǎn)潔版
對(duì)于win2003服務(wù)器的安全設(shè)置,對(duì)于新手一般是個(gè)問題,但下面的這篇文章對(duì)于服務(wù)器的設(shè)置的一些常見技巧處理的比較好。2009-02-02

