如何禁止Socket Pooling
(譯自Microsoft Knowledge Base Article KB238131,KB813368,加以編輯修改)
Socket pooling是微軟IIS服務的一個偵聽IP的問題,當你在IIS管理器裡面選項Web伺服器偵聽的IP時,就算你選項了單個IP,但是IIS的這個Web站點還是會偵聽在所有的IP上。例如,我的網路閘道電腦上面有IIS服務,然後有2個IP(192.168.0.1,61.139.x.x),那麼IIS的預設站點是會綁定在這兩個IP上,就算你在只是選項偵聽他們中的一個,如192.168.0.1,但是IIS還是佔用了另外一個61.139.x.x的對應連接阜。這對於接在多個網路的電腦是一種潛在的安全風險,而且也導致一些位於網路閘道電腦上的web站點不能正常的發佈,如位於ISA 2004或者ISA 2000上的web站點,因為ISA需要佔用外部IP的80連接阜來偵聽進入的http請求,但是web站點已經佔用了此連接阜,所以,必須禁用IIS的Socket pooling,以便讓IIS只是在某個IP上進行偵聽。 對於IIS 5.0和IIS 6.0,解決的辦法是不一樣的,以下我先介紹在IIS 5.0中的處理辦法,執行以下步驟: 1. 開啟命令提示字元,進入 X:\Inetpub\Adminscripts 目錄(X 是IIS安裝驅動器)。 2.執行此指令: cscript adsutil.vbs set w3svc/disablesocketpooling true 指令返回結果如下: disablesocketpooling : (BOOLEAN) True 3. 停止並執行IIS Admin服務。 4.重啟 WWW服務。 在IIS 6.0中,想解決這個問題,需要使用httpcfg.exe,它是Windows server 2003的support tools,存放在安裝CD的Support\Tools\Support.cab文件中。 執行以下步驟以解決此問題: 安裝Windows server 2003安裝CD的\Support\Tools\Support.msi,然後開啟命令提示字元,執行httpcfg set iplisten -i xxx.xxx.x.x(xxx.xxx.x.x為你想要IIS偵聽的IP位址),如果成功修改,Httpcfg 返回下列提示: HttpSetServiceConfiguration completed with 0 你可以執行httpcfg query iplisten指令來察看當前IIS偵聽的IP位址 |
所有時間均為台北時間。現在的時間是 04:47 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *