iis7.0如何配置https与ssl安全类型网站
在IIS 7.0 和IIS 6.0中配置SSL的高級別步驟基本相同:
·獲取合適的證書
·在網(wǎng)站創(chuàng)建HTTPS連接
·通過向該網(wǎng)站發(fā)送請求來進(jìn)行測試
·選擇性地配置SSL選項,例如將SSL作為必要條件
本文提供了一些有用的信息,以及如何利用不同的方式啟用SSL:
·使用IIS管理器用戶界面(GUI)
·使用appcmd命令行工具
·通過Microsoft.Web.Administration進(jìn)行編程
·利用WMI腳本
SSL配置
從IIS 6.0到IIS 7.0,SSL的安裝部署也有所改變,在Windows Server 2003中,所有的SSL配置都存儲在IIS元數(shù)據(jù)庫中,并且加密/解密過程都發(fā)生在用戶模式(需要大量的內(nèi)核模式/用戶模式間的轉(zhuǎn)換),在 Windows Vista 和Windows Server? 2008中,HTTP.sys處理內(nèi)核模式的SSL加密/解密過程,為安全連接提供了更好的性能。
將SSL轉(zhuǎn)移到內(nèi)核模式需要將SSL連接存儲在兩個地方,首先,該連接需要被存儲在網(wǎng)站的如下位置: %windir%\system32\inetsrv\applicationHost.config ,當(dāng)網(wǎng)站啟動時,IIS 7.0會將連接發(fā)送到HTTP.sys,然后HTTP.sys開始接收制定IP:Port的請求(對所有連接有效)。其次,與該連接相關(guān)的SSL配置被存儲在HTTP.sys配置中,使用netsh來查看存儲在HTTP.sys中的SSL配置:
netsh http show sslcert
當(dāng)客戶端連接并啟動一個SSL調(diào)動時,HTTP.sys會查看其SSL配置中該客戶端連接到的IP:Port對的信息,HTTP.sys的SSL配置必須保護(hù)一個證書和證書存儲位置的名稱,以完成SSL調(diào)動。
疑難解答:如果SSL連接遇到困難,應(yīng)當(dāng)確認(rèn)該連接是在applicationHost.config中配置的,并確保HTTP.sys 存儲中包含有效的證書以及存儲名稱。
選擇證書
你希望最終用戶能夠通過證書來驗證服務(wù)器的身份嗎?如果是的話,可以創(chuàng)建一個證書請求,然后將證書請求發(fā)送至已知的CA(如VeriSign或者GeoTrust),或者在企業(yè)內(nèi)部網(wǎng)域的CA處獲取證書,瀏覽器通常會檢查服務(wù)器證書的三個問題:
1. 證書日期是有效的
2. 證書的“公用名稱(CN)”與請求中的主機(jī)名稱相匹配,例如,如果某客戶端向如下網(wǎng)址發(fā)送請求: http://www.contoso.com/,,那么CN也必須是http://www.contoso.com/
3. 證書發(fā)布方是知名的可信賴的CA
如果這三項檢查失敗時,瀏覽器會向用戶發(fā)出警告。如果互聯(lián)網(wǎng)網(wǎng)站或者內(nèi)部局域網(wǎng)中存在不熟悉的最終用戶,最好始終確保執(zhí)行以上三個參數(shù)的檢查。
自簽名證書是指計算機(jī)自己發(fā)布的證書,這種證書適用于最終用戶不需要信任服務(wù)器的環(huán)境中,例如測試環(huán)境等。
AppCmd
你不能使用appcmd發(fā)送請求或者創(chuàng)建證書,同樣也不能創(chuàng)建SSL連接。
配置SSL設(shè)置
你可以使用appcmd配置網(wǎng)站只能進(jìn)行服務(wù)器https連接,只需通過修改訪問設(shè)置中的sslFlags屬性即可。例如,在 applicationHost.config(即:–commitPath:APPHOST)中為“Default Web Site”配置設(shè)置:
D:\Windows\system32\inetsrv>appcmd set config "Default Web Site"-commitPath:APPHOST -section:access -sslFlags:Ssl
Applied configuration changes to section "system.webServer/security/access" for
"MACHINE/WEBROOT/APPHOST/Default Web Site" at configuration commit path "MACHINE
/WEBROOT/APPHOST"
如果需要128位的SSL,將sslFlags值改為Ssl128
下面的示例展示的是查看Default Web Site 的區(qū)域設(shè)置,sslFlags屬性已經(jīng)設(shè)置成功:
D:\Windows\system32\inetsrv>appcmd list config "Default Web Site"-section:access
其結(jié)果是:
<system.webServer> <security> <access flags="Script, Read" sslFlags="Ssl" /> </security> </system.webServer>
WMI
你不能使用WebAdministration WMI命名控件發(fā)送請求或者創(chuàng)建證書
創(chuàng)建SSL連接
該腳本顯示了如何創(chuàng)建新HTTPS連接以及為HTTP.sys和IIS 7.0添加合適的配置:
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_
注意:證書信號和存儲位置必須涉及服務(wù)器上一個真正的有效的證書,如果證書信號和/或存儲名稱是假的,腳本將會出現(xiàn)錯誤。
配置SSL 設(shè)置
以下腳本顯示了如何通過IIS 7.0 WMI提供程序設(shè)置SSL:IIS管理器
獲取證書
在樹型結(jié)構(gòu)中選擇服務(wù)器節(jié)點(diǎn),雙擊服務(wù)器列表中的證書(Server Certificates)功能:
在操作窗口單擊創(chuàng)建自簽名證書(Create Self-Signed Certificate... )
輸入新證書的友好名稱,然后單擊確定
現(xiàn)在有一個自簽名證書了,并且證書被標(biāo)示為“服務(wù)器驗證”使用,即使用服務(wù)器端證書進(jìn)行HTTP SSL加密以及驗證服務(wù)器的身份。
創(chuàng)建SSL連接
在樹型結(jié)構(gòu)中選擇一個站點(diǎn)并點(diǎn)擊操作窗口的Bindings... ,隨后將彈出編輯器,可以創(chuàng)建、編輯和刪除網(wǎng)站的連接,點(diǎn)擊添加(Add...)按鈕來為網(wǎng)站添加新的SSL連接。
新連接默認(rèn)到端口80的http,在類型的下拉框中選擇https,從SSL Certificate的下拉框中選擇早前創(chuàng)建的自簽名證書,然后點(diǎn)擊確定。
現(xiàn)在網(wǎng)站有一個新的SSL連接,接下來就需要驗證其可行性了。
驗證SSL連接
查找網(wǎng)站的操作窗口中的鏈接,該鏈接能夠利用新的HTTPS連接瀏覽網(wǎng)站,點(diǎn)擊此鏈接能夠測試你的新連接。
IE7將會向你展示一個錯誤頁面,因為自簽名證書是由你自己的計算機(jī)簽發(fā)的證書,不是可信賴的第三方證書頒發(fā)機(jī)構(gòu)(CA),如果你將該證書添加到本地計算機(jī)的證書存儲位置或者組策略的Trusted Root Certification Authorities 中,則IE7將會信任該證書,然后點(diǎn)擊Continue to this website (not recommended)。
配置 SSL設(shè)置
如果你想要網(wǎng)站能夠請求SSL或者與客戶端證書以特定方式交互通信,則可以配置SSL設(shè)置,點(diǎn)擊樹型結(jié)構(gòu)中的網(wǎng)站節(jié)點(diǎn)以回到網(wǎng)站主頁,雙擊中間窗格中的SSL Settings功能。
總結(jié)
本文中我們探討了如何使用命令行工具AppCmd.exe、Scripting provider WMI以及IIS管理器來在 IIS 7.0上安裝SSL。
總結(jié)
以上是生活随笔為你收集整理的iis7.0如何配置https与ssl安全类型网站的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 下串口调试工具
- 下一篇: terraform 常用命令