亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網(wǎng)站 > IIS > 正文

徹底掌握IIS6.0功能及應(yīng)用詳解

2024-08-29 12:19:12
字體:
供稿:網(wǎng)友

  關(guān)于IIS 6.0的故事一言難盡,如果你已經(jīng)在IIS技術(shù)上有所投資,IIS 6.0無疑是一個動人的、非聽不可的話題。鑒于IIS 6.0和以前版本的差別實在太大了,只用一篇文章很難做到面面俱到,所以本文首先探討IIS 6.0的安裝、體系結(jié)構(gòu)以及由于體系結(jié)構(gòu)方面的差異帶 來的全新服務(wù)功能,下一篇文章接著介紹IIS 6.0的新特性――其中有些你可能還沒有聽說過,另外還有默認(rèn)配置方面的一些重要變化,這些變化可能會影響到你的遷移計劃。

  一、安裝IIS 6.0

  首先從最基本的說起吧。IIS 6.0包含在Windows Server 2003服務(wù)器的四種版本之中:數(shù)據(jù)中心版,企業(yè)版,標(biāo)準(zhǔn)版,Web版。另外,順便再回答一個最常見的IIS 6.0問題:IIS 6.0不能在Windows XP、2000或NT上運行。

  安裝好Windows 2003之后,馬上就可以看到Windows 2003/IIS 6.0的與眾不同之處,其中一個關(guān)鍵的變化是,除了Windows 2003 Web版之外,Windows 2003的其余版本默認(rèn)不再安裝IIS。按照微軟過去的理念,安裝操作系統(tǒng)的同時IIS也自動啟動,為許多Web應(yīng)用提供服務(wù),Windows 2003的做法可謂一大突破。在Windows 2003中,安裝IIS有三種途徑:利用“管理您的服務(wù)器”向?qū)В每刂泼姘濉疤砑踊騽h除程序”的“添加/刪除Windows組件”功能,或者執(zhí)行無人值守安裝。

  第一次啟動Windows 2003系統(tǒng)時,“管理您的服務(wù)器”向?qū)ё詣訂?,如圖一所示。




  圖一

  選擇“添加或刪除”角色,在“配置服務(wù)器”向?qū)е锌梢钥吹揭幌盗锌膳渲玫姆?wù)器角色,其中就有“應(yīng)用程序服務(wù)器(IIS,ASP.NET)”選項,如圖二,選中該選項之后點擊“下一步”,向?qū)峁┝耸欠癜惭bASP.NET和Microsoft FrontPage服務(wù)器擴(kuò)展的選項??梢钥吹?,微軟在這里采用了一種新型的“安裝任何部件之前總是
征求用戶意見”的IIS安裝策略,對于微軟來說,這是一個徹底的轉(zhuǎn)變,證明微軟確實在認(rèn)真對待安全問題。




   圖二
  使用控制面板中的“添加/刪除Windows組件”功能還要靈活一些。在向?qū)е羞x擇“應(yīng)用程序服務(wù)器”,再點擊“詳細(xì)信息”,向?qū)э@示出一系列組件的清單,其中就有“Internet信息服務(wù)(IIS)”選項,還有一些選項是以前的“添加/刪除Windows組件”向?qū)]有提供的,表一概括比較了IIS 6.0和IIS 5.0 的主要組件。如果從這里安裝IIS 6.0,最后得到的Web服務(wù)器可能只支持靜態(tài)內(nèi)容(除非在安裝期間選中了某些擴(kuò)展組件)。選中Internet信息服務(wù)選項,再點擊“詳細(xì)信息”,可以看到IIS 6.0的子組件,如圖三所示。




  圖三

表一:IIS 6.0和IIS 5.0組件比較
IIS 6.0 IIS 5.0
應(yīng)用程序服務(wù)器 Internet信息服務(wù)
應(yīng)用程序服務(wù)器控制臺 公用文件
ASP.NET 文檔
啟用網(wǎng)絡(luò)COM+訪問 文件傳輸協(xié)議(FTP)服務(wù)
啟用網(wǎng)絡(luò)DTC訪問 FrontPage 2000服務(wù)器擴(kuò)展
Internet信息服務(wù) Internet信息服務(wù)管理單元
后臺智能傳送服務(wù)(BITS)服務(wù)器擴(kuò)展 Internet服務(wù)管理器(HTML)
BITS管理控制臺管理單元 NNTP
BITS服務(wù)器擴(kuò)展ISAPI SMTP
公用文件 萬維網(wǎng)服務(wù)
文件傳輸協(xié)議(FTP)服務(wù)
FrontPage 2002服務(wù)器擴(kuò)展
Internet信息服務(wù)管理器
Internet打印
NNTP服務(wù)
SMTP服務(wù)
萬維網(wǎng)服務(wù)
Active Server Pages
Internet數(shù)據(jù)連接器
遠(yuǎn)程管理(HTML)
遠(yuǎn)程桌面Web連接
在服務(wù)器端的包含文件
WebDAV發(fā)布
萬維網(wǎng)服務(wù)
消息隊列
Active Directory集成
公用
下層客戶端支持
MSMQ HTTP支持
路由支持
觸發(fā)器


  也許你已經(jīng)注意到了表一列出的某些新增組件選項,但你注意到IIS 6.0少了什么嗎?IIS 6.0中消失不見的最主要的一個項目是文檔。在IIS 6.0中,所有文檔都以幫助文件的形式發(fā)布,不再有IISHelp虛擬目錄。在IIS 5.0中,如果從本地訪問服務(wù)器,默認(rèn)Web網(wǎng)站自動打開IIS的文檔,但在IIS 6.0中,如果打開“
http://localhost”,只能看到一個聲明網(wǎng)站正在構(gòu)建之中的頁面。

  另外,在IIS 5.0的IISHelp虛擬目錄中有一些錯誤處理頁面,這些錯誤處理頁面以ASP的方式實現(xiàn)。如果你要用到定制的(或者修改過的)幫助文件、錯誤處理頁面,在IIS 6.0網(wǎng)站上必須自己創(chuàng)建該目錄。

  進(jìn)一步分析IIS 6.0的子組件清單,可以發(fā)現(xiàn):原來在IIS 5.0和IIS 4.0中默認(rèn)安裝的Internet服務(wù)管理器(ISM)已經(jīng)不見了。但是,如果你點擊“萬維網(wǎng)服務(wù)”(IIS 6.0的子組件之一,但圖三沒有顯示出來),再點擊“詳細(xì)信息”,可以發(fā)現(xiàn)IIS 6.0的萬維網(wǎng)服務(wù)還有子組件,如圖四所示,其中包括原來的Internet服務(wù)器管理器,不過現(xiàn)在已經(jīng)改名為“遠(yuǎn)程管理(HTML)”;還有Windows 2003和XP版本的終端服務(wù)高級客戶端(TSAC)――現(xiàn)在它叫做“遠(yuǎn)程桌面Web連接”?,F(xiàn)在,我們不僅可以方便地添加或刪除這兩個子組件,對其他子組件也一樣,包括:ASP,Internet數(shù)據(jù)連接器,在服務(wù)器端的包含文件,WebDAV發(fā)布,當(dāng)然還有萬維網(wǎng)服務(wù)。

 

  圖四

  安裝IIS 6.0的最后一種方式是無人值守安裝。和以前一樣,這仍舊是唯一一種能夠?qū)⒐ぞ吆湍J(rèn)Web網(wǎng)站安裝到其他驅(qū)動器(而不是系統(tǒng)驅(qū)動器)的安裝方式。Windows 2003無人值守安裝方式大體上仍和Win 2K一樣,都是用Sysocmgr和一個應(yīng)答文件實施安裝。當(dāng)然,新的特性需要新的參數(shù)、選項,有關(guān)這方面的詳細(xì)說明,可以在Windows 2003 Release Candidate 2 (RC2)找到,地址是:http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsnetserver/proddocs/datacenter/gs_installingiis.asp。

  如果將IIS 5.0或IIS 4.0服務(wù)器升級到Windows 2003,IIS 6.0不會被設(shè)置成自動啟動。也就是說,如果采用升級的方式安裝,IIS 6.0默認(rèn)是禁用的,除非遇到下列情況之一:

 ?、?以前的IIS服務(wù)器上已經(jīng)安裝了IIS Lockdown工具。

 ?、?存在注冊子鍵
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/RetainW3SVCStatus,且它包含一個任意的注冊鍵。例如,你可以創(chuàng)建一個名為EnableIIS6的鍵,設(shè)定它的值為DWORD類型的1。

 ?、?在無人值守的升級安裝中,應(yīng)答文件的[InternetServer]部分存在DisableWebServiceOnUpgrade = True/False條目。


二、支持服務(wù)

  自IIS 6.0發(fā)布以來,它的某些新特性一直是人們關(guān)注和議論的焦點,成為眾人矚目的明星,但另一些Internet支持服務(wù)雖然不是經(jīng)常有人說起,卻同樣值得關(guān)注,其中之一就是POP3服務(wù)和POP3服務(wù)Web管理器。我們無從得知微軟為何不在“應(yīng)用程序服務(wù)器”組件清單中列出POP3服務(wù),但是繼SMTP服務(wù)之后(SMTP服務(wù)隨同POP3服務(wù)一起安裝),管理員們盼望POP3服務(wù)已經(jīng)很久了,他們一直在期盼著用一個簡單的POP3服務(wù)來替代龐大的Microsoft Exchange Server。

  統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(Universal Description, Discovery, and Integration,即UDDI)服務(wù)是Windows 2003提供的又一種新的功能,它也與IIS有關(guān),但默認(rèn)不安裝(注意,Windows 2003 Web版不能安裝UDDI)。UDDI是一種產(chǎn)業(yè)標(biāo)準(zhǔn)(即不是微軟的發(fā)明),能夠通過廣告發(fā)布IIS服務(wù)器提供的Web服務(wù)――這里“廣告”一詞的含義與日常生活中的廣告不同,它是指一種讓客戶程序(通常是Web瀏覽器)獲知Web服務(wù)(通常是ASP.NET應(yīng)用)各種細(xì)節(jié)的方式。UDDI仍在發(fā)展之中,但一些企業(yè)已經(jīng)在內(nèi)部采用UDDI,以便開發(fā)者將自己的代碼發(fā)布給其他協(xié)作開發(fā)的人。有關(guān)UDDI的更多知識,可以在下列網(wǎng)站找到:http://www.uddi-china.org/(中文),http://www.uddi.org(英文),http://www.uddicentral.com(英文)。

  最后一種重要的支持服務(wù)是后臺智能傳送服務(wù),即 Background Intelligent Transfer Service或BITS。BITS是一種后臺文件傳輸機(jī)制和隊列管理器,也稱作節(jié)流傳輸服務(wù)。BITS控制文件請求,減少帶寬消耗并改善最終用戶的體驗。針對IIS啟用BITS可保證Web服務(wù)器的服務(wù)質(zhì)量,如果沒有BITS,當(dāng)100個用戶同時下載一個500 MB的文件,服務(wù)器的帶寬可能就被消耗殆盡,導(dǎo)致其他訪問Web服務(wù)的用戶頻繁地遇到超時錯誤。如果BITS就象廣告說的那樣有效,可以料想它將是一種非常實用的服務(wù)。Windows 2003發(fā)布之后,按照計劃,BITS還將移植到Win2K上。關(guān)于BITS的更多信息,請參見http://www.microsoft.com/windows.netserver/techinfo/overview/bits.mspx。


  三、全新的內(nèi)核

  從體系結(jié)構(gòu)上看,IIS 5.0和IIS 4.0其實是一樣的:它們都是在用戶模式下運行的發(fā)布Web內(nèi)容的應(yīng)用程序,或者在Inetinfo進(jìn)程之內(nèi)以System帳戶運行,或者在Inetinfo進(jìn)程之外以IWAM用戶運行。雖然在較重的負(fù)載下,IIS 5.0也有相當(dāng)出色的表現(xiàn);不過從IIS 6.0開始,我們對IIS底層結(jié)構(gòu)的看法應(yīng)該改變了。為了使IIS不僅能夠輕松地支持1000個Web網(wǎng)站,而且能夠支持10000個甚至更多的網(wǎng)站,同時還要提高Web服務(wù)器的安全性和可靠性,微軟放棄了原有的IIS內(nèi)核,重新構(gòu)造了一個。

  另一個促使微軟重新構(gòu)建IIS內(nèi)核的原因是,微軟(以及其他廠商)認(rèn)識到,Web服務(wù)器的性能和可靠性問題絕大部分是由于質(zhì)量低劣的Web應(yīng)用造成。IIS 5.0通過帶緩沖池的Out of Process容器減輕這類問題。在IIS 5.0中,在Out of Process池中運行的應(yīng)用一旦崩潰,一般不會波及到IIS本身,因為應(yīng)用程序在Inetinfo之外的進(jìn)程中運行,但運行在Out of Process池之內(nèi)的所有Web應(yīng)用都會終止――在默認(rèn)情況下,所有的應(yīng)用程序都在該池之中運行。在這種情況下,排解故障很不容易,因為要確定哪一個應(yīng)用程序?qū)е铝藛栴}非常困難。IIS 6.0將監(jiān)聽請求、創(chuàng)建和監(jiān)視Web網(wǎng)站、運行Web服務(wù)這些不同的任務(wù)隔離了開來,這一新型體系可望解決IIS 5.0存在的問題。從理論上看,新的體系將極大地改善可用性、安全和性能;從實際情況看,根據(jù)微軟和Beta測試者的報告,新的體系令穩(wěn)定性和性能有了奇跡般地提高。IIS 6.0的內(nèi)核體系主要建立在三個組件之上:W3SVC,http.sys,以及W3Core。

  ■ W3SVC

  W3SVC也許是IIS 6.0體系中最不令人注意的組件,不過這并不說明它不重要。W3SVC的任務(wù)是根據(jù)配置數(shù)據(jù)的設(shè)置創(chuàng)建和監(jiān)視工作線程,由工作線程運行Web網(wǎng)站應(yīng)用。在IIS 5.0中,與IIS 6.0 W3SVC組件最接近的是IIS管理服務(wù),IIS管理服務(wù)是Inetinfo的一部分;
因此,如果Inetinfo出現(xiàn)問題,IIS管理服務(wù)也會出現(xiàn)問題,而且此時的IIS管理服務(wù)不能再重新啟動Inetinfo或其他故障的應(yīng)用程序。在IIS 6.0中,W3SVC作為一個獨立的進(jìn)程運行,Web應(yīng)用的故障不可能波及W3SVC,因為W3SVC之內(nèi)根本沒有第三方的代碼運行。W3SVC總是處于運行狀態(tài),因此它能夠監(jiān)視Web應(yīng)用的健康狀況,并在必要時采取行動。由于這一策略,服務(wù)器能夠根據(jù)用戶指定的參數(shù)監(jiān)視和重新啟動應(yīng)用程序。

  ■ http.sys

  IIS 6.0體系設(shè)計中最重大的變化是加入了http.sys驅(qū)動程序,http.sys驅(qū)動程序的任務(wù)是處理HTTP請求,而且它在內(nèi)核模式下執(zhí)行操作。不要小看這一改變,將處理HTTP請求的任務(wù)從IIS 5.0、IIS 4.0的用戶模式改變到IIS 6.0的內(nèi)核模式標(biāo)志著新一代IIS服務(wù)器的誕生。

  在Win 2K和NT 4.0中,IIS在用戶模式下運行。運行在用戶模式下的應(yīng)用程序不直接與硬件通信,它們直接調(diào)用的是一些標(biāo)準(zhǔn)過程,這些標(biāo)準(zhǔn)過程或者將數(shù)據(jù)傳入內(nèi)核模式的組件(例如網(wǎng)卡驅(qū)動程序,圖形子系統(tǒng)),或者調(diào)用內(nèi)核模式組件的函數(shù),以此完成保存文件、設(shè)置IP地址、將HTML文件發(fā)送到網(wǎng)絡(luò)之類的任務(wù)。

  用戶模式和內(nèi)核模式之間的轉(zhuǎn)換是一項開銷很大的操作,服務(wù)器首先從內(nèi)核模式的TCP/IP棧將傳入的HTTP請求傳遞給用戶模式的Winsock,由Winsock將請求傳遞給IIS。從內(nèi)核模式到用戶模式的切換很快發(fā)生,但不可避免地給處理過程帶來瞬間的延遲。當(dāng)負(fù)載較大時,這種延遲不斷累加,同時由于這種轉(zhuǎn)換是必不可少的,所以管理員根本沒有辦法優(yōu)化處理過程。

  IIS 6.0的https.sys內(nèi)核模式驅(qū)動程序極大地減少了用戶模式和內(nèi)核模式之間的切換次數(shù)。http.sys監(jiān)聽著HTTP請求,決定由哪一個用戶模式的進(jìn)程來處理該請求,或者是否由驅(qū)動程序本身返回用戶請求的內(nèi)容。

  IIS 6.0在用戶模式下運行,完全依賴內(nèi)核模式的http.sys作為接收用戶請求的服務(wù)器引擎。因此,http.sys必須能夠在任何時候作出相應(yīng),必須具有極高的可靠性。用戶代碼可能導(dǎo)致進(jìn)程出錯,所以微軟把http.sys設(shè)計成不執(zhí)行任何用戶代碼,這樣,即使應(yīng)用程序出現(xiàn)了故障,也不會影響到IIS 6.0本身,IIS 6.0仍能夠照常監(jiān)聽HTTP請求。

  如果要從內(nèi)核模式的緩沖區(qū)返回靜態(tài)的應(yīng)答,一個高速的、內(nèi)核模式的、不允許運行應(yīng)用程序代碼的HTTP處理器是十分理想的,它減少了切換到用戶模式的昂貴開銷,能夠從內(nèi)核模式的緩沖區(qū)快速返回應(yīng)答。IIS 6.0的http.sys就管理著這樣一個緩沖區(qū),而且使用了高度優(yōu)化的啟發(fā)式緩沖區(qū)算法來確定哪些內(nèi)容要放入緩沖區(qū),例如,http.sys可能只緩沖那些出現(xiàn)了一次以上請求的內(nèi)容。

  由于http.sys直接從應(yīng)答緩沖區(qū)提取靜態(tài)內(nèi)容,不必再切換到用戶模式,所以與IIS 5.0的性能相比,IIS 6.0的整體性能有了顯著提升。根據(jù)微軟的資料顯示,WebBench基準(zhǔn)測試表明IIS 6.0返回靜態(tài)內(nèi)容的速度要比IIS 5.0快150%。即使以IIS 5.0的隔離模式運行IIS 6.0服務(wù)器(這時,IIS 6.0的體系結(jié)構(gòu)與IIS 5.0的相似),同樣也能從http.sys驅(qū)動程序的應(yīng)答緩沖區(qū)和其他改進(jìn)之處獲益。

  另外,微軟在http.sys驅(qū)動程序中采用了許多優(yōu)化的算法,使其能夠?qū)⒄埱笾苯愚D(zhuǎn)發(fā)到適當(dāng)?shù)墓ぷ鬟M(jìn)程。在IIS 4.0和IIS 5.0中,必須通過多個步驟才能確定進(jìn)程的哪一個實例擁有了應(yīng)當(dāng)接收當(dāng)前請求的Web應(yīng)用,但在IIS 6.0中,http.sys注冊了所有IIS 6.0應(yīng)用,賦予每一個進(jìn)程一個句柄,IIS內(nèi)部利用這些句柄來標(biāo)識注冊的應(yīng)用程序要用到的一個或多個名稱空間。因此,當(dāng)http.sys接收到一個HTTP請求,它能夠很快地將請求從內(nèi)核模式的http.sys傳遞到正確的用戶模式的Web應(yīng)用。

  http.sys驅(qū)動程序還要執(zhí)行其他一些任務(wù),其中包括:

 ?、?將傳入的URL與各種長度、格式方面的規(guī)則進(jìn)行比較。

 ?、?管理傳入請求的隊列。

  ⑶ 擔(dān)負(fù)著記錄IIS Web網(wǎng)站日志信息的任務(wù)(從而提高了記錄日志的性能)。

 ?、?實施帶寬限制策略以及支持TCP/IP級的管理。

 ?、?實現(xiàn)客戶證書請求服務(wù)(但不支持安全套接字層――SSL)。

  由于http.sys是一個操作系統(tǒng)的驅(qū)動程序,而不是一個IIS組件,因此該驅(qū)動程序的配置在注冊表而不是IIS配置數(shù)據(jù)中進(jìn)行。當(dāng)前,還有許多http.sys的注冊表設(shè)置項目尚無正式的說明文檔,它可能意味著微軟不鼓勵用戶修改這些設(shè)置,因為這些設(shè)置項目將來可能會有變化。http.sys驅(qū)動程序的注冊表設(shè)置項目位于
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP下面,在這里可添加各種注冊鍵(默認(rèn)配置中不包含這些注冊鍵),諸如:

  ⑴ EnableNonUTF8:如果加入EnableNonUTF8子鍵,并將它的值設(shè)置成0,http.sys只接受UTF-8編碼的URL。UTF-8的全稱是Universal Character Set(UCS)Transformation Format 8,這是一種字符集標(biāo)準(zhǔn),標(biāo)準(zhǔn)全文在http://www.ietf.org/rfc/rfc2279.txt,它允許使用多國語言的字符集。默認(rèn)情況下,EnableNonUTF8的值是1,表示IIS接受UTF-8、ANSI、雙字節(jié)字符集(DBCS)編碼的URL。

 ?、?PercentUAllowed:當(dāng)這個子鍵設(shè)置成1時(默認(rèn)值),http.sys認(rèn)可那些部分字符用%uNNNN表示的URL,其中NNNN是一組表示實際字符的數(shù)字。當(dāng)PercentUAllowed設(shè)置成0時,IIS 6.0將拒絕那些部分字符用這種方式表示的URL。

 ?。NNNN是一種不太常用的Unicode符號,不要將它與常見的UTF-8表示形式混淆。在UTF-8表示形式中,%20表示一個空格,例如http://www.iisanswers.com/new article.htm相當(dāng)于http://www.iisanswers.com/new%20article.htm,兩者之間的轉(zhuǎn)換由IE瀏覽器自動完成,不管EnableNonUTF8和PercentUAllowed設(shè)置成了什么值,IIS 6.0都會接受。

  這兩項設(shè)置,再加上其他可以在IIS 6.0文檔中找到的設(shè)置項目,從一個側(cè)面反映了IIS 6.0在URL解析方面的改進(jìn)。在IIS 5.0中,一些重大的安全問題與Web服務(wù)器解析URL的方式有密切的關(guān)系,現(xiàn)在微軟終于解決了原先存在的缺陷,同時作出了一些改進(jìn),允許管理員更加明確地定義IIS 6.0解析URL的規(guī)則。在天生具有國際化特點的Internet上,多國語言并存,這些改進(jìn)之處尤其具有重要意義。

  關(guān)于Unicode的更多信息,請參見http://www.unicode.org;關(guān)于IIS 5.0缺陷的更多信息,請參見 http://www.wiretrip.net/rfp/p/doc.asp/i5/d57.htm。在Windows Server 2003 Resource Kit中可以找到一個幫助配置http.sys的工具。

  ■ W3Core

  默認(rèn)情況下,IIS 6.0在工作進(jìn)程隔離模式下運行,如圖五所示。在這種模式中,對于每一個Web應(yīng)用,IIS 6.0都用一個獨立的w3wp.exe的實例來運行它。w3wp.exe也稱為工作進(jìn)程(Worker Process),或W3Core。




  圖五


  因此,工作進(jìn)程隔離模式不存在進(jìn)程內(nèi)(In-Process)應(yīng)用程序存在的問題,有效地提高了可靠性和安全性??煽啃缘奶岣呤且驗橐粋€Web應(yīng)用的故障不會影響到其他Web應(yīng)用,也不會影響http.sys,每一個Web應(yīng)用由W3SVC單獨地監(jiān)視其健康狀況。安全性的提高是由于應(yīng)用程序不再象IIS 5.0和IIS 4.0的進(jìn)程內(nèi)應(yīng)用那
樣用System帳戶運行,默認(rèn)情況下,w3wp.exe的所有實例都在一個權(quán)限有限的“網(wǎng)絡(luò)服務(wù)”帳戶下運行,如圖六所示,必要時,還可以將工作進(jìn)程配置成用其他用戶帳戶運行。




  圖六

  如果緩沖區(qū)溢出攻擊成功入侵了一個Web應(yīng)用,攻擊者只能訪問當(dāng)時運行工作進(jìn)程的帳戶有權(quán)訪問的資源,默認(rèn)的網(wǎng)絡(luò)服務(wù)帳戶不能寫入Inetpub文件夾,執(zhí)行權(quán)限也極其有限,所以象CodeRed蠕蟲之類的攻擊根本不可能得逞。

  某些Web應(yīng)用,特別是有些Internet Server API(ISAPI)篩選器,在進(jìn)程外運行時可能會遇到問題。在IIS 5.0和IIS 4.0中,ISAPI篩選器總是在Inetinfo之內(nèi)運行,它們的設(shè)計目標(biāo)本來就不是在進(jìn)程外運行,正是由于這個原因,某些篩選器在IIS 6.0的工作進(jìn)程隔離模式中運行時可能會出現(xiàn)問題――特別地,調(diào)用SF_READ_RAW_DATA或SF_SEND_RAW_DATA的篩選器尤其明顯。為此,IIS 6.0還提供了第二種操作模式,稱為IIS 5.0隔離模式。如果ISAPI篩選器不能在工作進(jìn)程隔離模式下正常運行,在IIS 5.0隔離模式下應(yīng)該沒有問題。在這第二種操作模式中,應(yīng)用程序仍舊能夠從IIS 6.0的許多改進(jìn)中獲益,例如http.sys驅(qū)動程序帶來的性能、可靠性的提高。

  在IIS 6.0文檔中,可以看到一種叫做“應(yīng)用程序池”的新特性。一個應(yīng)用程序池包含一個或者一組工作進(jìn)程,而且應(yīng)用程序池是可以命名的。應(yīng)用程序池可以從下列角度理解:在IIS 5.0中,我們可以將應(yīng)用程序保護(hù)設(shè)置為低級(IIS進(jìn)程)、中級(緩沖池)、高級(隔離),這個功能雖然很有用,但如果我們想要在一個池(一個dllhost.exe的實例)中運行兩個應(yīng)用程序,在另一個池(另一個dllhost.exe的實例?)中運行另外兩個應(yīng)用,該怎么辦?IIS 5.0沒有提供命名dllhost.exe實例的途徑,因而也就不能將兩個特定的應(yīng)用放入某個池運行。IIS 6.0的應(yīng)用程序池允許指定名稱,如圖七,通過網(wǎng)站“屬性”對話框的“主目錄”頁,可以方便地將Web網(wǎng)站或目錄放入應(yīng)用程序池。




  圖七

  四、應(yīng)用程序池詳解

  前面我們了解了IIS 6.0體系結(jié)構(gòu)的關(guān)鍵組件,下面來看看有關(guān)應(yīng)用程序池的一些問題。應(yīng)用程序池的“屬性”對話框有四頁――回收,性能,運行狀況,標(biāo)識,如圖六所示。在這些選項頁中,最引人注目的恐怕就是“回收”頁,使用該選項頁可以管理工作進(jìn)程的回收。在工作進(jìn)程隔離模式中,
IIS可以配置成定期重新啟動應(yīng)用程序池中的工作進(jìn)程,從而更好地管理那些有錯誤的工作進(jìn)程。這確保了池中的應(yīng)用程序運行正常,并且可以恢復(fù)丟失的系統(tǒng)資源。為了回收工作進(jìn)程,失敗工作進(jìn)程接收請求的能力將被限制,直到它處理完存儲在請求隊列中的所有剩余請求。為了排出當(dāng)前請求,可以給予進(jìn)程配置限制。同一命名空間組的替換工作進(jìn)程在舊的工作進(jìn)程停止前啟動,從而防止服務(wù)中斷。舊的進(jìn)程完成其未決的請求,然后正常關(guān)閉,或者如果在達(dá)到了配置的時間限制、請求數(shù)、設(shè)置的時間計劃,或當(dāng)達(dá)到指定的內(nèi)存用量限制后仍沒有關(guān)閉,則明確地終止進(jìn)程。默認(rèn)情況下,應(yīng)用程序池每隔1740分鐘(29小時)回收一次。

  W3SVC根據(jù)“運行狀況”頁的選項來判斷應(yīng)用程序池運行是否正常,包括:每隔指定的時間Ping工作進(jìn)程,時間按秒計,默認(rèn)值30秒;啟動時間限制(工作進(jìn)程必須在指定的時間內(nèi)開始);關(guān)閉時間限制(工作進(jìn)程必須在指定的時間內(nèi)關(guān)閉);是否啟動快速失敗保護(hù)(如果在指定的時間段內(nèi)一定數(shù)目的工作進(jìn)程發(fā)生失敗,則禁用應(yīng)用程序池)。另外,ISAPI應(yīng)用程序(包括ASP.NET和asp.dll)可以聲明自己不再適合提供服務(wù),要求回收。

  默認(rèn)情況下,當(dāng)IIS 6.0回收一個池時,它會使用一種稱為overlapped recycle的回收技術(shù)。在這種回收模式下,失敗的工作進(jìn)程仍會保持運行狀態(tài),同時創(chuàng)建一個新的工作進(jìn)程。IIS 6.0把新傳入的請求傳遞給新的工作進(jìn)程,但不拆除老的工作進(jìn)程,直至老的工作進(jìn)程處理完它隊列中的請求,或者遇到超時錯誤。在此期間,TCP/IP連接不會丟失,因為有http.sys保持著連接的有效性。當(dāng)失敗的工作進(jìn)程超時出錯時,下一個請求傳遞給工作進(jìn)程的請求是新的請求,因此原來保存在進(jìn)程中的會話信息就會丟失。所有這類回收操作都自動進(jìn)行,無需管理員干預(yù),而且在大多數(shù)情況下,不會造成明顯的服務(wù)中斷現(xiàn)象。如有必要,可以將配置數(shù)據(jù)屬性LogEventOnRecycle的值設(shè)置為1,指示W(wǎng)3SVC執(zhí)行回收操作時生成一條事件日志記錄。

  對于那些不能以多個實例運行的應(yīng)用程序,overlapped recycle回收技術(shù)可能引起問題。如果遇到這類問題,可以將配置數(shù)據(jù)屬性DissallowOverlappingRotation的值設(shè)置成True(1),關(guān)閉某個應(yīng)用程序池回收操作時的進(jìn)程“重疊”現(xiàn)象。另外,對于失敗的工作進(jìn)程,有時我們可能不想將它拆除,仍舊保留該進(jìn)程,以便檢測和尋找發(fā)生問題的根源,這時可以將配置數(shù)據(jù)屬性O(shè)rphanActionExe設(shè)置成執(zhí)行文件的名字,使得工作進(jìn)程成為“孤兒”時執(zhí)行文件仍保持運行狀態(tài)。

  另一個與應(yīng)用程序池有關(guān)的特性是,IIS 6.0允許將應(yīng)用程序池配置成一個Web園(Web Garden)。要理解Web園的概念,可以設(shè)想這樣一種情形:假設(shè)有一個IIS 5.0服務(wù)器和三個Web網(wǎng)站,每一個Web網(wǎng)站運行著相同的應(yīng)用程序,如果IIS 5.0能夠自動按照圓形循環(huán)的模式將請求依次發(fā)送給這些功能上等價、實際上分離的Web網(wǎng)站,將負(fù)載分離到三個不同的進(jìn)程,就可以構(gòu)成一個小型的Web農(nóng)場(Web Farm)――這就是Web園。

  在IIS 6.0的Web園中,我們不必創(chuàng)建額外的Web網(wǎng)站,只要指定用于某個應(yīng)用程序池的工作進(jìn)程的數(shù)量就可以了。具體的配置步驟是:打開應(yīng)用程序池的“屬性”對話框,轉(zhuǎn)到“性能”頁,在“Web園”下面的“最大工作進(jìn)程數(shù)”輸入框中輸入進(jìn)程數(shù)量,如圖八。當(dāng)服務(wù)器的負(fù)載較小,不需要額外的工作進(jìn)程時,IIS 6.0在一定的時間后(默認(rèn)20分鐘,可配置)自動縮減實際的工作進(jìn)程數(shù)量;如果負(fù)載變大,需要額外的工作進(jìn)程,IIS 6.0再次增加工作進(jìn)程數(shù)量。這一切操作都自動進(jìn)行,不需要管理員干預(yù)。



  圖八

  兩個新的配置數(shù)據(jù)屬性――SMPAffinitze和SMPAffinitzeCPUMask――允許配置為工作進(jìn)程指派的特定處理器:將SMPAffinitized屬性設(shè)置成true表示應(yīng)該把分配給應(yīng)用程序池的特定工作進(jìn)程指派給特定的CPU,SMPProcessorAffinityMask屬性用來配置十六進(jìn)制的處理器掩碼,該十六進(jìn)制處理器掩碼指出應(yīng)用程序池中的工作進(jìn)程應(yīng)該綁定到哪個CPU。

  寫到這里,文章的篇幅似乎已經(jīng)太長了。本文主要從體系結(jié)構(gòu)的角度介紹IIS 6.0的新特性,并且盡力做到全面,至少要比通常見到的介紹更完善一些。文章的第二部分將涵蓋更多的IIS 6.0新特性,你會發(fā)現(xiàn)許多新特性正是自己長久以來盼望的。

  前文介紹了IIS 6.0的安裝和Web服務(wù)器的新型體系結(jié)構(gòu)。IIS 6.0新特性的數(shù)量多得令人驚奇,其中一些特性是如此引人注目,以至于人們的大部分注意力都被它們吸引。在這第二篇介 紹IIS 6.0的文章中,我們不僅將了解這些已成為“明星”的特性,還將關(guān)注一下IIS 6.0各種較少有人注意卻同樣重要的改進(jìn)之處。

  一、安全

  微軟一次又一次地做著同樣一件事情――某個軟件產(chǎn)品出了問題,飽受人們詬病,于是趕緊發(fā)布新的版本將問題解決。例如,發(fā)布Windows NT 4.0之后,因穩(wěn)定性問題而飽受批評;于是微軟發(fā)布了Windows 2000,新操作系統(tǒng)的穩(wěn)定性頗受好評,但Win 2K服務(wù)器默認(rèn)安裝的IIS 5.0卻成了巨大的安全隱患,需要下大力氣加以整治才能解決問題。IIS 6.0默認(rèn)不安裝,如果按照缺省方式安裝,Web服務(wù)器只能提供靜態(tài)內(nèi)容服務(wù)。因此,從這個角度看,即使以后IIS 6.0應(yīng)用引擎和組件突然出現(xiàn)了問題,IIS 6.0還是極大地降低了安全風(fēng)險。另外,Windows Server 2003還有一個新的組策略“禁止安裝IIS”,有了該組策略,我們就可以禁止Windows 2003在活動目錄(AD)森林中禁止不準(zhǔn)備作Web服務(wù)器用的機(jī)器上安裝IIS 6.0,防止網(wǎng)絡(luò)上出現(xiàn)根本無用的、不安全的IIS 6.0服務(wù)器。不過,目前這個組策略只對Windows 2003服務(wù)器有效,不能防止Windows XP Pro和Win 2K的機(jī)器安裝IIS 5.0。

  當(dāng)然,由于剛剛安裝好的IIS 6.0不支持動態(tài)內(nèi)容,所以出現(xiàn)了第二個人們經(jīng)常會問的問題:“為什么我的服務(wù)器不能運行ASP?”(前文提到,第一個人們經(jīng)常會問的問題是:“IIS 6.0可以在Win 2K服務(wù)器上運行嗎”?答案是“不”)。要想在IIS 6.0上運行程序,必須使用IIS 6.0的一種新特性,即Web服務(wù)擴(kuò)展,或Web Service Extension(這個名字似乎意味著它與XML Web服務(wù)有某種關(guān)系,實際情況并非如此。)


  如果要為某個程序啟用Web服務(wù)擴(kuò)展,首先打開IIS管理器(在“控制面板”→“管理工具”中。以前叫做Internet服務(wù)管理器或ISM),如圖一,點擊“添加一個新的Web服務(wù)擴(kuò)展”,啟動向?qū)?chuàng)建一個新的規(guī)則。為規(guī)則指定一個名字,然后找到想要啟用的執(zhí)行文件。另外,/system32/inetsrv下有一個iisext.vbs腳本,它也能夠配置并管理運行帶有IIS 6.0的Windows Server 2003的Web服務(wù)擴(kuò)展、應(yīng)用程序和單獨的文件。管理員可以使用此腳本來啟用和列出應(yīng)用程序;添加和刪除應(yīng)用程序依賴性;啟用、禁用和列出 Web 服務(wù)擴(kuò)展;添加、刪除、啟用、禁用和列出單獨文件。




  圖一

  在圖一中,注意“所有未知ISAPI擴(kuò)展”和“所有未知CGI擴(kuò)展”這兩種Web服務(wù)擴(kuò)展。默認(rèn)情況下,這兩種擴(kuò)展是禁用的,意味著除非明確地允許一個應(yīng)用在IIS 6.0上運行,否則它就不能運行。如果一個用戶請求了某個沒有啟用的文件,IIS 6.0將向用戶返回404錯誤――文件或目錄沒有找到,同時在W3SVC日志中記錄“
404.2文件或目錄無法找到:鎖定策略禁止該請求”。在IIS 6.0中,404.2和其他子狀態(tài)代碼是W3SVC日志文件的一項可選功能,用來幫助排解故障、疑難(IIS 5.0和IIS 4.0中也有子狀態(tài)代碼,不過不會在日志文件中記錄,但可以將它們轉(zhuǎn)到定制的錯誤頁面,便于根據(jù)子狀態(tài)代碼執(zhí)行特殊的處理)。IIS 6.0的子狀態(tài)代碼很有用,它們提供了描述問題的詳細(xì)信息,例如:403.20,禁止訪問:Passport登錄失??;403.18,禁止訪問:無法在當(dāng)前應(yīng)用程序池中執(zhí)行請求的URL;404.3,文件或目錄無法找到:MIME映射策略禁止該請求;500.19,服務(wù)器錯誤:該文件的數(shù)據(jù)在配置數(shù)據(jù)庫中配置不正確。所有這些錯誤和其他錯誤都映射到定制的錯誤頁面,錯誤頁面不會把子狀態(tài)代碼發(fā)送給用戶,攻擊者無法獲知具體的錯誤信息。

  另一個安全方面的改進(jìn)之處是IIS 6.0允許指派一個加密服務(wù)提供者(Cryptographic Service Provider,CSP),能夠?qū)⒒谟布陌踩捉幼謱樱⊿SL)加速器集成到IIS 6.0,從而把加密任務(wù)從服務(wù)器的通用CPU轉(zhuǎn)移到了專門為加密操作而優(yōu)化的專用設(shè)備,有利于提高性能和可靠性。
二、配置數(shù)據(jù)

  在IIS 5.0和IIS 4.0中,配置數(shù)據(jù)庫采用二進(jìn)制文件結(jié)構(gòu),但I(xiàn)IS 6.0放棄了這一做法。IIS 6.0的配置數(shù)據(jù)由兩個XML文件構(gòu)成:一個是Metabase.xml,包含IIS 6.0服務(wù)器的配置信息;另一個是mbschema.xml,包含配置數(shù)據(jù)的模式定義。IIS管理器提供了一項新的功能,允許保存配置數(shù)據(jù)副本,只要右擊Web網(wǎng)站,然后選擇“所有任務(wù)”→“將配置保存到一個文件”,然后指定配置數(shù)據(jù)副本的文件名字和保存路徑即可。按照這種方式保存配置數(shù)據(jù)時,IIS 6.0利用系統(tǒng)的機(jī)器碼(Machine Key)加密配置數(shù)據(jù)的某些部分,因此,配置數(shù)據(jù)的副本只對創(chuàng)建該副本的機(jī)器有用。

  不過,在“將配置保存到一個文件”對話框中,我們可以選中“用密碼對配置進(jìn)行加密”選項,然后指定密碼,用密碼來保護(hù)導(dǎo)出的配置文件。如果提供了密碼,IIS 6.0將用密碼來替代機(jī)器碼,以后只要提供同一個密碼,就可以將配置數(shù)據(jù)導(dǎo)入到另一個服務(wù)器。另外,我們可以使用命令行腳本iisback.vbs(在systemroot/System32中)創(chuàng)建和管理遠(yuǎn)程或本地計算機(jī)的IIS配置的備份副本,管理員可以使用此腳本工具創(chuàng)建其IIS配置的備份副本,從備份副本還原IIS配置以及列出和刪除備份副本。

  有些時候,我們只要保存某個應(yīng)用程序池、Web網(wǎng)站或虛擬目錄的配置,而不是保存全部的配置信息,這時可以按照如下步驟操作:右擊要保持配置信息的對象,選擇菜單“所有任務(wù)”→“將配置保存到一個文件”,如圖二所示,如果準(zhǔn)備將配置數(shù)據(jù)導(dǎo)入到另一個服務(wù)器,必須提供加密文件的密碼。




  圖二
  如果右擊一個應(yīng)用程序池、Web網(wǎng)站組或單個網(wǎng)站,然后選擇“新建”→“應(yīng)用程序池(來自文件)”,或者“新建”→“網(wǎng)站”→“來自文件”,或者“新建”→“虛擬目錄(來自文件)”,就可以從保存的配置文件創(chuàng)建新的應(yīng)用程序池、Web網(wǎng)站或虛擬目錄。因此,必要的時候,我們可以只創(chuàng)建和配置一個對象,利用“將配置保存到一個文件”功能導(dǎo)出對象
的配置信息,然后利用“新建”→“虛擬目錄(來自文件)”等功能將配置信息導(dǎo)入到多個Web網(wǎng)站。這就是說,我們可以先精心配置一個模板,然后用它來創(chuàng)建和配置新的網(wǎng)站。當(dāng)然,出現(xiàn)問題時,配置信息副本還可以用來恢復(fù)網(wǎng)站的設(shè)置。

  由于IIS 6.0配置信息是可移植的,它還有另外一個好處,這就是方便了升級。假設(shè)我們升級時不能直接在Win 2K/IIS 5.0上安裝Windows 2003/IIS 6.0,必須換一臺機(jī)器,這時就要解決如何將IIS 5.0不可移植的配置數(shù)據(jù)轉(zhuǎn)移到新的IIS 6.0服務(wù)器的問題。利用IIS 6.0配置數(shù)據(jù)的可移植性,解決辦法是:首先安裝好新的Windows 2003服務(wù)器,為原來的Win 2K服務(wù)器做一個完整的備份,然后在Win 2K服務(wù)器上安裝第二個Windows 2003服務(wù)器將它升級,導(dǎo)出第二個Windows 2003服務(wù)器的配置數(shù)據(jù)(用密碼加密),然后將配置數(shù)據(jù)導(dǎo)入到新的Windows 2003服務(wù)器。新安裝的Windows 2003服務(wù)器必須作一些調(diào)整,例如允許IUSR帳戶等,但至少現(xiàn)在不必重新執(zhí)行全部配置操作了。

  IIS 6.0的配置數(shù)據(jù)是標(biāo)準(zhǔn)的文本文件(XML文件),所以可以用記事本之類的文本編輯器打開和編輯。如果修改了IIS 5.0或IIS 4.0的配置數(shù)據(jù),有時必須重新啟動IIS,如果系統(tǒng)上網(wǎng)站的數(shù)量很多,可能需要不少時間,例如ISP的服務(wù)器就屬于這類情況。為了解決這個問題,IIS 6.0支持一種“運行時允許編輯”功能?!斑\行時允許編輯”功能按照如下方式啟用:在IIS管理器中,右擊服務(wù)器,選擇菜單“屬性”,然后選中“允許直接編輯配置數(shù)據(jù)庫”選項,如圖三所示。啟用了這個功能之后,如果我們用記事本打開配置數(shù)據(jù)文件,插入一個虛擬目錄的配置,然后保存并關(guān)閉配置文件,IIS 6.0幾乎立即就能根據(jù)配置文件的設(shè)置作相應(yīng)的修改,根本無需重新啟動。




  圖三

  既然允許直接編輯配置文件,因配置文件不合法造成的服務(wù)器、應(yīng)用程序故障也必然增多。為此,IIS 6.0提供了配置文件歷史版本目錄,即/system32/inetsrv/history,每次修改配置數(shù)據(jù)或重新啟動IIS 6.0,IIS 6.0都會在該目錄中保存一份原有的配置數(shù)據(jù)。
三、IIS管理器

  每次產(chǎn)品重大升級,人們都會試圖從用戶界面尋找令人激動的新功能。IIS 6.0的管理器確實有了變化,不過改動之處出乎意料地少。

  其中一個改動之處雖小,但很實用。如果在IIS管理器中右擊一個文件夾,現(xiàn)在可以選擇“權(quán)限”菜單打開文件夾的“安全”對話框。在這個對話
框中可以設(shè)置文件夾的NTFS授權(quán),不必再離開IIS管理器。雖然這是一個小小的改動,也許它今年會為全世界所有的IIS管理員總共節(jié)省數(shù)千小時的工作時間。

  右擊一個Web網(wǎng)站,選擇“屬性”,轉(zhuǎn)到“目錄安全性”頁,點擊“安全通信”下面的“編輯”按鈕,在這里可以找到另一個重要的改動之處――安全通信屬性頁允許配置SSL、證書信任列表(CTL)、客戶證書。在IIS 5.0和IIS 4.0中,除非在Web網(wǎng)站上安裝一個證書,否則不能訪問該屬性頁,這一限制令人不快,因為從技術(shù)上看,配置CTL、客戶證書并不要求服務(wù)器上安裝了證書,換句話說,在IIS 5.0中我們安裝證書的唯一用途可能就是因為用戶界面需要它。IIS 6.0改正了這一多余的要求,現(xiàn)在我們不必在Web服務(wù)器上安裝證書也可以訪問和使用該屬性頁了。

  四、通配符應(yīng)用程序

  如果你熟悉IIS 5.0和IIS 4.0的ISAPI篩選器,可能也熟悉它們的缺點。ISAPI篩選器不僅編寫困難,而且由于它們在Inetinfo進(jìn)程內(nèi)運行,如果編寫時不小心留下了一點錯誤,很容易導(dǎo)致災(zāi)難性的后果,出錯的代碼可能造成整個IIS崩潰。另外,ISAPI篩選器不能擁有常規(guī)ISAPI DLL擁有的功能。當(dāng)然,不管怎樣,在IIS 5.0和IIS 4.0中,ISAPI篩選器仍是一種非常有用的組件,是唯一可以針對所有進(jìn)入Web服務(wù)器或Web網(wǎng)站的請求執(zhí)行操作的代碼。

  IIS 6.0提供了一種更加靈活的新型機(jī)制來提供通常由ISAPI篩選器提供的服務(wù),它就是ISAPI截取器(Interceptor),或者稱為通配符應(yīng)用程序(Wildcard Application)。通配符應(yīng)用程序的配置方式是:在IIS管理器中右擊Web網(wǎng)站,選擇菜單“屬性”,轉(zhuǎn)到“主目錄”頁面,點擊“應(yīng)用程序設(shè)置”下面的“配置”按鈕,出現(xiàn)“應(yīng)用程序配置”對話框,如圖四所示。在對話框的“映射”頁中,我們可以將一個或多個ISAPI DLL配置成通配符應(yīng)用程序。對于每一個接收到的請求,IIS 6.0將調(diào)用這里列出的各個通配符應(yīng)用程序。除了針對所有網(wǎng)站配置通配符應(yīng)用程序,還可以針對單個網(wǎng)站或在目錄層次上配置通配符應(yīng)用程序。由于這些ISAPI截取器是標(biāo)準(zhǔn)的ISAPI應(yīng)用程序,它們具有普通ISAPI應(yīng)用程序具備的所有功能,包括訪問消息正文的能力,而不僅僅象ISAPI篩選器那樣訪問消息頭。




  圖四

  通配符應(yīng)用程序可以做到開發(fā)者要做的任何事情,諸如URL定制、驗證身份、記錄特殊的日志信息、檢測攻擊企圖、創(chuàng)建內(nèi)容,等等。通配符應(yīng)用程序結(jié)束處理后,它把請求轉(zhuǎn)交給適當(dāng)?shù)奶幚硪妫ɡ缣幚鞟SP頁面的asp.dll),由處理引擎進(jìn)一步處理請求。另外,通配符應(yīng)用程序還可以通過調(diào)用為ISAPI應(yīng)用程序新增的ExecuteURL功能
,將請求傳遞到同一個應(yīng)用程序池中的任意頁面。

  新增的ISAPI通配符應(yīng)用程序為創(chuàng)造性的應(yīng)用程序設(shè)計大開方便之門。例如,IIS 6.0的URL授權(quán)功能就是作為一個ISAPI通配符應(yīng)用程序(urlauth.dll)實現(xiàn)。URL授權(quán)功能允許IIS 6.0根據(jù)一系列的規(guī)則授予對某個URL的訪問權(quán),例如用戶是否為某個組的成員、地理位置,以及其他在數(shù)據(jù)庫或AD中與用戶有關(guān)的信息。有關(guān)ISAPI通配符應(yīng)用程序和URL授權(quán)的更多信息,請參見IIS 6.0的幫助文檔。
五、日志功能

  服務(wù)器的日志功能很少成為首要的關(guān)注對象,但卻是日復(fù)一日的服務(wù)器管理和監(jiān)視工作不可或缺的助手。IIS 6.0在日志功能方面有許多重大的改進(jìn),但遺憾的是,W3SVC日志事件仍不能以本地時間記錄。

  在IIS 6.0中,記錄日志的功能已經(jīng)改為由http.sys實現(xiàn),http.sys在內(nèi)核模式下運行。這一改進(jìn)加快了日志寫入速度,同時避免了多個工作進(jìn)程爭用同一日志文件。某些特殊的情況下,http.sys會遇到錯誤,這時它應(yīng)該但卻不能將日志信息寫入Web網(wǎng)站的日志,例如,工作進(jìn)程正在被回收,禁止http.sys處理用戶請求,或者用戶試圖連接到服務(wù)器,但請求中只提供了IIS所需信息的一部分。如果出現(xiàn)這類情況,http.sys將把事件寫入一個新的日志文件httperr.log。

  在排解故障、優(yōu)化IIS 6.0的過程中,httperr.log日志文件是十分重要的。默認(rèn)情況下,httperr.log文件保存在/system32/logfiles目錄,但可以修改,修改方法是找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP/Parameters注冊子鍵,在它下面添加一個名為ErrorLoggingDir的字符串值,在ErrorLoggingDir中設(shè)置保存日志文件的完整路徑。在httperr.log日志文件中可以找到的信息包括:所有的503(服務(wù)不可用)錯誤,空閑連接超時,解析URL時出現(xiàn)的各種錯誤,最后10個提交給失敗的應(yīng)用程序池的請求。

  IIS 6.0還擁有一種稱為二進(jìn)制日志的功能,啟用這個功能后,IIS 6.0將把Web網(wǎng)站的所有日志信息寫入一個二進(jìn)制格式的日志文件,日志文件的擴(kuò)展名是.ibl。要啟用二進(jìn)制日志功能,只要把配置文件的W3SVCC/CentralBinaryLoggingEnabled條目設(shè)置成ture(1)即可。對于ISP來說,這個功能應(yīng)該非常有用。ISP的每臺機(jī)器上可能有1000甚至更多的Web網(wǎng)站,如果每個Web網(wǎng)站每天生成一個日志文件,日志文件的總數(shù)很快會達(dá)到一個天文數(shù)字。微軟最近發(fā)布的Log Parser 2.0工具能夠讀取二進(jìn)制日志文件并生成報告,這個工具可以從http://download.microsoft.com/download/iis50/utility/2.0/nt5xp/en-us/setup.exe下載。Log Parser 2.0還能夠讀取前面介紹的httperr.log文件并生成報告。

  從很久以前開始,IIS就允許指定本地服務(wù)器上保存日志文件的目錄了。不過,雖然IIS 5.0和IIS 4.0的IIS管理器允許在指定日志文件路徑的時候輸入一個遠(yuǎn)程服務(wù)器的通用命名規(guī)范(UNC)的路徑,但Web服務(wù)器實際上不會把日志保存到遠(yuǎn)程服務(wù)器。只有IIS 6.0才真正支持日志文件路徑的UNC路徑名。

  六、網(wǎng)站ID

  對于IIS服務(wù)器來說,唯一標(biāo)識一個網(wǎng)站的不是網(wǎng)站的名稱,而是網(wǎng)站的ID數(shù)值。當(dāng)我們在IIS 5.0和IIS 4.0中創(chuàng)建一個新的網(wǎng)站,Web服務(wù)器將下一個可用的數(shù)字順序號指定給網(wǎng)站(即,Web服務(wù)器給默認(rèn)站點指定的數(shù)字是1,下一個網(wǎng)站是2,接下來是2、3、4,等等),這個數(shù)
字就是網(wǎng)站的唯一ID。如果要訪問一個網(wǎng)站的日志文件,首先必須知道該網(wǎng)站的ID,因為日志文件保存在/W3SVC/<網(wǎng)站的ID編號>目錄。如果Web服務(wù)器上運行著一個以上的網(wǎng)站,僅僅依靠日志文件的路徑名稱根本無法判斷哪一個日志目錄屬于哪一個網(wǎng)站。另外,無論是在編寫管理腳本時,還是在修改配置數(shù)據(jù)文件時,網(wǎng)站ID都是必不可少的,例如,在IIS配置數(shù)據(jù)文件中指定ADSI(活動目錄服務(wù)接口,Active Directory Service Interface)路徑時往往要指定正確的網(wǎng)站ID。

  盡管如此,在IIS 5.0和IIS 4.0中,從IIS管理器無法直接找到網(wǎng)站的ID編號。為此,IIS 6.0的管理器在網(wǎng)站清單中增加了一個新的“標(biāo)識符”列,該列的內(nèi)容就是網(wǎng)站的ID編號。不過,即使IIS 6.0 Web服務(wù)器上只有二三個網(wǎng)站,網(wǎng)站的ID也可能很大,例如387660891(因此該網(wǎng)站的日志文件路徑是/W3SVC/387660891),不必奇怪,IIS 6.0不再按照順序指定網(wǎng)站的ID了――它根據(jù)網(wǎng)站的名字計算出網(wǎng)站的ID。

  如果你編寫了一些腳本程序輔助管理,這些腳本要求使用原有的網(wǎng)站ID順序生成方式,可以禁用IIS 6.0新式的ID生成方式,具體的操作步驟是:找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/InetMgr/Parameters注冊子鍵,創(chuàng)建一個REG_DWORD值IncrementalSiteIDCreation,將它設(shè)置為2(注意,默認(rèn)情況下,該鍵不存在)。
七、異步CGI處理

  IIS 5.0和IIS 4.0以同步方式運行CGI(Common Gateway Interface,通用網(wǎng)關(guān)接口)進(jìn)程,這實際上意味著每次只有一個線程能夠訪問一個CGI進(jìn)程,所以IIS 5.0和IIS 4.0對CGI支持的可伸縮性不佳。IIS 6.0能夠異步運行CGI進(jìn)程,所以如果一個線程調(diào)用了一個CGI應(yīng)用程序,它不必再等待CGI進(jìn)程處理完畢和返回信息。異步CGI改善了IIS服務(wù)器運行CGI Web應(yīng)用程序的性能,使得IIS能夠運行更多執(zhí)行關(guān)鍵任務(wù)的基于CGI的應(yīng)用程序。

  當(dāng)Web服務(wù)器接收到包含CGI程序名和程序所需參數(shù)的URL時,CGI程序開始執(zhí)行。如果將CGI程序編譯為可執(zhí)行 (.exe)文件,則必須提供包含程序執(zhí)行權(quán)限的目錄,以便用戶可以運行程序。如果CGI程序以腳本形式(例如Perl腳本)編寫,則既可為目錄提供執(zhí)行權(quán)限,也可為其提供腳本權(quán)限。另外,如果要使用腳本權(quán)限,必須將腳本解釋程序標(biāo)記為腳本引擎。

  必須注意的是,默認(rèn)情況下,IIS_WPG組不具備啟動CGI進(jìn)程的權(quán)限。如果創(chuàng)建了新帳戶并將其添加到IIS_WPG組,還必須授予此帳戶兩種啟動CGI進(jìn)程的用戶權(quán)限,即“調(diào)整進(jìn)程的內(nèi)存配額”和“替換進(jìn)程級令牌”。

  八、帶寬限制

  在IIS 5.0和IIS 4.0中,Web網(wǎng)站屬性對話框的“性能”頁允許啟用帶寬限制功能,指定允許網(wǎng)站占用的最大帶寬。不過,這個功能不一定起作用,因為IIS 5.0和IIS 4.0不能直接操作服務(wù)器的網(wǎng)卡。

  IIS 6.0則不同,第一次啟用帶寬限制功能時,Windows 2003自動安裝QoS數(shù)據(jù)包計劃程序供IIS服務(wù)器調(diào)用。QoS數(shù)據(jù)包計劃程序使得服務(wù)器能夠控制服務(wù)質(zhì)量(即QoS),因此安裝期間Windows 2003將臨時地停止所有網(wǎng)絡(luò)服務(wù)。配置好QoS數(shù)據(jù)包計劃程序后,IIS才真正有了擔(dān)負(fù)起控制網(wǎng)站帶寬限制所需的驅(qū)動程序――對于ISP來說,這無疑是一個好消息。允許設(shè)置的最小帶寬限制值是1024 Byte/秒。不要忘了檢查一下網(wǎng)卡是否在Windows 2003硬件兼容清單(HCL)中,因為只有最新的網(wǎng)卡才支持QoS功能。

  要配置QoS數(shù)據(jù)包計劃程序,首先必須創(chuàng)建一個組策略控制臺。點擊“開始”→“運行”,輸入“mmc”,然后點擊“確定”。在控制臺窗口中,選擇菜單“文件”→“添加/刪除管理單元”,點擊“添加”,在“添加獨立管理單元”對話框中,選擇“組策略對象編輯器”,然后依次點擊“添加”、“完成”、“關(guān)閉”、“確定”?,F(xiàn)在依次擴(kuò)展控制臺中的“本
地計算機(jī)策略”、“計算機(jī)配置”、“管理模板”、“網(wǎng)絡(luò)”,顯示出“QoS數(shù)據(jù)包計劃程序”,如圖五所示。




  圖五

  啟用帶寬限制之前,請使用系統(tǒng)監(jiān)視器檢查“網(wǎng)絡(luò)接口”對象中的總字節(jié)數(shù)/秒或當(dāng)前帶寬計數(shù)器。如果希望比較傳入和傳出流量,請檢查發(fā)送的字節(jié)數(shù)/秒和接收的字節(jié)數(shù)/秒,再比較“網(wǎng)絡(luò)接口”對象的值和網(wǎng)絡(luò)連接的總帶寬。對于“正?!钡呢?fù)載,服務(wù)器使用的帶寬不應(yīng)超過其全部可用帶寬的50%。如果服務(wù)器有較大的高峰負(fù)載,請將正常負(fù)載保持在50%以下,剩下的帶寬可在高峰期使用。

  帶寬限制可以是針對全局WWW服務(wù)的(即對所有網(wǎng)站都有效),也可以是針對單個網(wǎng)站的。設(shè)置全局WWW服務(wù)最大帶寬不會替代已為服務(wù)器上的單個網(wǎng)站設(shè)定的最大帶寬。單個站點根據(jù)已設(shè)置的最大值來限制帶寬,而全局設(shè)置限制所有其他未限制帶寬的網(wǎng)站。另外,全局WWW服務(wù)帶寬限制設(shè)置不會影響FTP站點或FTP服務(wù)。

  九、默認(rèn)設(shè)置的變化

  在IIS 6.0中,許多配置項目的默認(rèn)值已經(jīng)與IIS 5.0或IIS 4.0的不同。例如,默認(rèn)的連接超時時間已經(jīng)從900秒減少到120秒,另外,EnableParentPaths設(shè)置默認(rèn)關(guān)閉。還有其他一些新的設(shè)置項目也會影響服務(wù)器的性能和行為,包括:

 ?、?如果某種文件類型沒有在MimeMap配置屬性中映射,所有對該類文件的請求將被拒絕。

  ⑵ 默認(rèn)情況下,所有工作進(jìn)程會在1740分鐘后自動回收,回收期間會話信息可能丟失。

 ?、?運行CGI應(yīng)用程序的用戶上下文必須是一個IIS_WPG組的成員。

 ?、?Windows 2003不安裝Collaboration Data Objects for Windows NT Server(CDONTS)。微軟建議開發(fā)者改用CDO for Windows 2000(CDOSYS)對象。

 ?、?ASP請求默認(rèn)限制在204800字節(jié)之下,每一個域限制在100 KB之下。IIS 5.0和IIS 4.0沒有這方面的限制。

 ?、?默認(rèn)情況下,http.sys僅接受標(biāo)題小于16 KB的請求。

  本文關(guān)于IIS 6.0的介紹就到這里結(jié)束,雖然文章很長,但還是不可能做到面面俱到,例如,還沒有提及受到廣泛關(guān)注的Passport驗證和摘要驗證方面的改進(jìn),本文的重點放在一些具有突破性意義的IIS 6.0新特性以及幾種較少有人提及的功能,以此證明IIS 6.0改進(jìn)的廣泛性、深入性。從許多方面來看,IIS 6.0的風(fēng)頭甚至蓋過了Windows 2003――而且許多人認(rèn)為,IIS 6.0確實有資格占據(jù)舞臺的中央。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
日韩在线视频在线观看| 视频在线一区二区| 在线视频国产日韩| 久久久亚洲精华液精华液精华液| 日韩免费在线视频观看| 男女下面一进一出无遮挡| 国产精品入口免费麻豆| 蜜乳av一区二区三区| 久久艹免费视频| 欧美一卡2卡三卡4卡5免费| 91亚色免费| 黄色av网站在线| av女在线播放| 黄色成人在线网| 精品国产乱码久久久久久虫虫漫画| 国产精品yjizz视频网| 91精品久久久久久久99蜜桃| 精品少妇av| 性xxxxfreexxxxx欧美丶| 成人www视频在线观看| www.日本久久久久com.| 中文字幕乱码中文乱码51精品| 三妻四妾完整版在线观看电视剧| 日韩成人a**站| 国产精品x8x8一区二区| 在线亚洲欧美视频| 亚洲天堂网在线视频| 最近中文字幕mv免费高清视频8| 永久免费网站视频在线观看| 久久99精品久久久水蜜桃| 欧美精品久久久久久久免费观看| 国产99久久久国产精品潘金| 日韩欧美高清在线播放| 国产原创欧美精品| av影视在线| 朝桐光av在线一区二区三区| 激情视频极品美女日韩| 国产精品久久一区二区三区| 男女啪啪在线观看| 国产综合久久久久| 国产精品a久久久久久| 亚洲国产乱码最新视频| 日韩有码在线电影| 四虎永久在线观看| 伊人成综合网| 日韩一区二区三区免费观看| 亚洲视频在线观看免费视频| 福利小视频在线观看| 日本亚洲一区二区| 亚洲草久电影| 久久伊人91精品综合网站| 国产一区二区视频在线播放| 在线观看制服搞黄视频| 日韩久久一区二区三区| 日本久久一二三四| 又大又黄又粗| 韩国三级中文字幕hd久久精品| 国产福利一区二区| 蜜桃av一区| 久久久久久久极品| 天天综合网站| 日韩精品电影一区亚洲| 精品入口麻豆传煤| 亚洲国产一区二区三区a毛片| 亚洲视频精品一区| 成视频免费在线看| 欧美激情一级片一区二区| 99精品全国免费观看视频软件| 亚洲免费黄色网址| 国产在线无码精品| 一级黄色片播放| 久久久久久久网站| 精品国产伦一区二区三区观看体验| 中文字幕精品在线观看| 少妇荡乳情欲办公室456视频| 亚洲二区三区四区| 成人免费直播| 在线观看中文字幕亚洲| 色999久久久精品人人澡69| 国产激情视频在线观看| 91片黄在线观看喷潮| 日本高清免费不卡视频| 一区二区三区日本视频| 国产精品爽爽久久| 日韩美女av在线| 天天做综合网| 中文字幕有码av| 精品少妇人欧美激情在线观看| 成人av色在线观看| 亚洲欧美一区二区在线观看| 制服诱惑一区二区| 日日爽夜夜爽| 午夜cr在线观看高清在线视频完整版| 日韩高清不卡| 怕怕欧美视频免费大全| 视频一区二区三区入口| 国产露脸91国语对白| 亚洲一区二区动漫| 亚洲欧洲三级| 精品亚洲一区二区三区四区| 国产精品乱人伦一区二区| 国产欧洲精品视频| 亚洲成人高清| 国产欧美韩日| 一区二区三区视频免费看| 欧美一区二区三区少妇| 高潮一区二区三区| 日本视频三区| 国产一区二区三区欧美| 成人精品美女隐私视频| 999这里有精品| 国产欧美日韩综合| 国产精品中文字幕一区二区三区| 国产一区二区精品在线观看| 欧美精品与人动性物交免费看| 蜜桃av噜噜一区二区三区麻豆| 手机在线看片日韩| 蜜臀99久久精品久久久久久软件| 99久久这里只有精品| 秋霞国产午夜精品免费视频| 国产色一区二区| 亚洲视频图片小说| 韩国一区二区三区美女美女秀| 午夜精品一区二区三区国产| 国产传媒av在线| 久久韩剧网电视剧| 国产精品一区久久久久| 国产精品成人免费电影| 天堂在线观看视频观看www| 国产又爽又黄无码无遮挡在线观看| 91在线免费看片| 波多野结衣久久精品| 日韩欧美一区二区三区久久婷婷| 久草久草久草| 1区不卡电影| 亚洲自拍小视频免费观看| 91在线国内视频| av观看在线免费| 人妻中文字幕一区二区三区| av中文字幕播放| 精品无码一区二区三区在线| 91精品国产91久久久久久最新毛片| 国产suv精品一区二区6| 欧美乱妇18p| 国产精品成人99一区无码| 55av亚洲| 欧美一区视频在线| 国产一区二区三区播放| 欧美一区二区三区精美影视| 久久久99久久精品欧美| 亚洲一区二区三区免费视频| 欧美国产日韩亚洲一区| 超污视频在线播放| 日韩人妻精品一区二区三区| 亚洲成人777777| 91av视频在线观看| 国模视频一区| 欧美大交乱xxxxxbbb| 欧美无乱码久久久免费午夜一区| 2020国产精品久久精品不卡| 国产乱了高清露脸对白| 日韩欧美自拍偷拍| 国产乱色精品成人免费视频| 成人在线视频中文字幕| 精品国产乱码久久久久久鸭王1| 五月婷婷久久综合| 亚洲精品天堂在线| 国产私拍福利精品视频二区| 在线精品视频播放| 中文另类视频| 国产精品久久在线观看| 国产成人综合精品在线| 激情五月婷婷基地| 欧美片网站免费| 日韩字幕在线观看| 亚洲一区二区影院| 国产欧美成人| 91午夜精品亚洲一区二区三区| 欧美二区在线观看| 国产精品成人va在线观看| 免费av在线网址| 国产国语刺激对白av不卡| 国产精品天美传媒入口| 国精品人伦一区二区三区蜜桃| 中文字幕第36页| 无码人妻久久一区二区三区| 国产一区二区三区福利| 亚洲精品免费网站| 唐人社导航福利精品| 国产肉体xxxx裸体784大胆| 亚洲无码精品一区二区三区| 久久久久福利视频| 一本色道久久综合亚洲精品小说| 成年人三级网站| 国产成人自拍网| 视频区小说区图片区| 国产三级黄色片| 亚洲欧美福利一区二区| 成人性生交大片免费看小说| 99国产视频在线| 日韩精品一区二区三区色偷偷| 色欧美自拍视频| 国产偷国产偷亚洲高清人白洁| 久久精品国产69国产精品亚洲| 欧美极品色图| 国产老头和老头xxxx×| 国产特级黄色录像| 欧美三级电影网站| 国内揄拍国内精品少妇国语| 成人国产精品一区| 国产黑人绿帽在线第一区| 亚洲男人的天堂在线aⅴ视频| 另类视频在线观看+1080p| 在线免费看视频| 欧美性天天影视| 亚洲一二三精品| 中文字幕一区二区三区在线播放| 免费高清视频在线观看| 亚洲午夜久久久久久久久| 欧美日韩精品久久久免费观看| 91资源在线观看| 色在线视频网| 日韩av男人的天堂| 1769在线观看| 天堂网免费视频| 日本伊人精品一区二区三区介绍| 欧美专区国产专区| 久久久久久无码精品人妻一区二区| 激情五月激情综合网| 国产婷婷一区二区三区久久| 久久久久久久久久网| 国产人与禽zoz0性伦| 蜜臀久久久久久久| 精品国产免费人成电影在线观看四季| 日韩激情视频一区二区| 日本中文字幕片| 亚洲精品mv在线观看| 欧美a级片一区| 欧美性xxxx巨大黑人猛| 中文字幕制服丝袜在线| 色婷婷av一区二区三区之红樱桃| 成人免费视频网| 91精产国品一二三产区别沈先生| 国产成人激情视频| 欧美一级二级三级蜜桃| 国新精品乱码一区二区三区18| 亚洲精品美女| 亚洲激情在线观看| 精品一区二区在线观看| 99久久婷婷国产一区二区三区| 国产一区二区动漫| 欧美a在线看| 日本欧美一区二区三区不卡视频| 午夜黄色在线观看| 国产66精品久久久久999小说| 快播亚洲色图| 超碰在线免费观看97| 粉嫩喷白浆久久| 高清无码一区二区在线观看吞精| 亚洲午夜三级在线| 麻豆91av| 亚洲每日在线| 国产主播在线资源| 日韩欧美中文在线| 麻豆精品蜜桃视频网站| 亚洲三级在线看| 午夜精品一区二区三区国产| www.av在线.com| 欧洲一区在线| 色一情一乱一伦一区二区三区日本| 日韩成人在线观看| 国产精九九网站漫画| 可骚可骚的黄视频网站| 日韩精品视频一区二区在线观看| 极品日韩久久| 精品视频一区在线| 国产一区二区高清不卡| 折磨小男生性器羞耻的故事| 日韩色性视频| 污污视频在线看| 亚洲午夜电影在线观看| 一级做a爰片久久毛片16| 亚洲淫片在线视频| 亚洲高清不卡一区| 亚洲欧美变态国产另类| 4hu四虎永久在线观看| 嫩草影院官网| 一二三四视频免费观看在线看| 麻豆tv免费在线观看| 国产精品高清无码在线观看| 怡红院av久久久久久久| 国产三区在线成人av| 成年人国产精品| 韩国黄色一级大片| 日韩一区二区三区四区区区| 黄色片中文字幕| 亚洲电影成人| 欧亚成年男女午夜| 妖精视频成人观看www| 性欧美18一19内谢| 国产理论在线| 日本欧美在线视频免费观看| 国产专区精品视频| 香蕉视频一区| 日韩一级片av| 国产h色视频在线观看| 飘雪影院手机免费高清版在线观看| 在线亚洲欧美| 在线视频一区二区三区在线播放| 在线不卡日本v二区707| 色七七影院综合| 欧美国产第二页| 久久影院理伦片| 缅甸午夜性猛交xxxx| 777a∨成人精品桃花网| 麻豆91在线播放| 亚洲а∨精品天堂在线| 精品欧美一区二区三区久久久| 妺妺窝人体色www聚色窝仙踪| 亚洲精品成人久久久| 国产精品素人一区二区| 日韩欧美中文字幕一区二区三区| 久久99蜜桃精品久久久久小说| 日本欧美大码aⅴ在线播放| 老司机精品久久| 91黄色在线| 亚洲三级电影在线观看| 国产精品一区二区你懂的|