我有另一项服务需要在服务器的一个 IP 上使用多个端口。当 IIS 启动时,它使用所有未使用的 IP,因此其他服务无法绑定其 IP。如果我先启动其他服务,它可以使用 IP,但我不能依赖服务启动的顺序,或者它们不需要在某个时候重新启动。有没有办法让 IIS 根本不使用 IP?
我有另一项服务需要在服务器的一个 IP 上使用多个端口。当 IIS 启动时,它使用所有未使用的 IP,因此其他服务无法绑定其 IP。如果我先启动其他服务,它可以使用 IP,但我不能依赖服务启动的顺序,或者它们不需要在某个时候重新启动。有没有办法让 IIS 根本不使用 IP?
显然,在 IIS6 中,UI 设置被破坏了,这需要使用 httpcfg来完成,其要点是:
我终于找到了答案:
http://devlicio.us/blogs/billy_mccafferty/archive/2008/09/02/prevent-iis-from-binding-to-all-assigned-ip-addresses.aspx
有一个名为的实用程序
httpcfg.exe
可用于指定 IIS 将侦听的 IP。我下载了支持工具(http://msdn.microsoft.com/en-us/library/windows/desktop/aa364478%28v=vs.85%29.aspx)并使用了 httpcfg.exe ,如几篇文章中所述(即停止http服务,添加所需的IP号码,不包括我需要在别处绑定的IP号码)。我到了
不再列出我的排除号码。然而,运行
查看 netstat.txt 显示 PID 4 仍在通过 0.0.0.0 侦听所有 IP 号上的端口 80(和 443)。因此,我需要分离出来的 ip 号还不能使用。
最后一步是明确地删除 0.0.0.0——即使它不在 iplisten 列表中。
这立即奏效了。顺便说一句,不需要重新启动服务器。
当然。启动 Internet 信息服务管理器。展开直到您在“网站”下看到您的网站。
对于每个站点,右键单击并选择属性。在网站选项卡上单击 IP 地址旁边的“高级”并仅填写您要使用的地址(而不是默认的“所有未分配”)