史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   網路軟硬體架設技術文件 (http://forum.slime.com.tw/f133.html)
-   -   如何禁止Socket Pooling (http://forum.slime.com.tw/thread117331.html)

psac 2004-07-17 05:09 AM

如何禁止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位址


所有時間均為台北時間。現在的時間是 12:46 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1