如何阻止IIS7監聽特定的IP位址和連接埠?

如何阻止IIS7監聽特定的IP位址和連接埠?

我正在嘗試在 Windows Server 2008 上安裝 Apache。當我使用netstat -a -p tcp要查看是否有任何進程正在偵聽該 IP 位址和端口,我看到了幾個完整的..其中之一顯示正在偵聽 0.0.0.0:80。這是輸出的部分列表。

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:80             MYSERVERNAME:0           LISTENING

這看起來是 IIS7 監聽埠 80 上的所有 IP 位址。所有網站均顯示為已停止。我試過iisreset /STOP以及使用 IIS7 管理器,但仍有東西在監聽 0.0.0.0:80。我甚至確保每個網站都綁定到另一個 IP 位址,而不是我想要為 Apache 釋放的 IP 位址。有其他人遇過這個嗎?

答案1

《敏捷絕地》讓我走上了正確的道路。在搜尋“禁用套接字池 IIS7”後,我遇到了一個很棒的文章這給了一些逐步的指導。我照著指示操作,果然成功了!我能夠阻止 IIS7 綁定所有 IP 位址 基本上,它可以歸結為以下命令(我從上面的文章複製並貼上了這些命令,以防文章被刪除)。

  1. 增加或確保您的機器有兩個 ip
  2. 開啟命令提示符
  3. 類型netsh
  4. 類型http
  5. 類型sho iplisten。它應該是空白的
  6. 類型add iplisten ipaddress=192.168.0.90(使用你想要IIS7綁定的公網IP位址)

您應該會成功新增 IP 位址

  1. 類型sho iplisten再次

清單中應顯示 192.168.0.90

  1. 類型exit退出netsh

  2. 類型 類型netstat -an

    看看您是否注意到清單中的 192.168.0.90:80。如果您看到 0.0.0.0:80,請執行iisreset

答案2

IIS 這樣做是為了提高套接字池效能。我們有多個並行運行的 APACHE/Windows 實例。我認為這在較新版本的 IIS 中不是問題。無論哪種方式,您都需要停用套接字池:

對於IIS6

http://support.microsoft.com/kb/238131

相關內容