IIS6 无法在本地网络上找到站点

IIS6 无法在本地网络上找到站点

我有一台运行 IIS6 的双网卡的 Windows 2003 服务器。我可以远程访问所有内容,但无论我尝试访问哪个 IP 地址,内部网络似乎都找不到该站点。这里确实发生了几件奇怪的事情,但我将把这个问题限制在我猜测的最简单的问题上(我希望该解决方案也能解决其他问题):

  • 从服务器本身,我可以使用主 IP 地址(即http://192.168.1.2/index.htm)访问网页,但不能使用辅助 IP 地址(即http://10.10.10.2/index.htm)访问网页。

对两个 IP 地址进行自我 ping 操作均可行,并且 IIS 中的“网站标识”将 IP 地址设置为“(全部未分配)”... 我相信这应该将两个 IP 地址绑定到该站点。

如果我没有提供足够的有关我的设置的详细信息,我深感抱歉,但此时我甚至不知道什么是相关的......

更新

我找到了问题的一部分(感谢@SimonCatlin 为我指明了方向)。服务器没有监听 10.10.10.x 子网上的 80 端口。在我更改了这一点之后,服务器会将网页本地传送到http://192.168.1.2/index.htmhttp://10.10.10.2/index.htm

我使用以下命令通过所有网卡监听端口 80

> httpcfg delete iplisten -i 192.168.1.2
> httpcfg set iplisten -i 0.0.0.0
> net stop http
> net start http
> iisreset

我通过运行检查并验证了这一点netstat -oan,它现在返回以下相关数据:

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4

以下是我目前未完成的事情的列表:

  • 固定的从服务器本身浏览到http://10.10.10.2/index.htm
  • 固定的从 10.10.10.x 子网浏览到http://10.10.10.2/index.htm
  • 从 10.10.10.x 子网浏览到http://[staticIP]/index.htm
  • 从 10.10.10.x 子网浏览到http://mydomain.com/index.htm

如果我运行它nslookup mydomain.com会返回静态IP,所以我猜测最后两点是同一个问题。

答案1

您的信息不成立(这不是批评,只是观察!)。

你能澄清一下吗...

远程(大概是从另一个路由网络,而不是 192. 和 10. 子网),您可以通过任一 IP 访问该站点吗?

从内部来看(大概是从 192. 或 10. 子网上的计算机,而不是从服务器本身),您无法访问任一站点?

从服务器控制台本身,您可以访问该站点,但只能通过 192 地址?

您没有使用域名,因此主机名标头不起作用。

您能否使用 Netstat 或 SysInternal 的 TCPView 之类的工具确认您的服务器确实在两个 IP 上侦听端口 80?从上面的远程测试来看,断言它已绑定到两个 IP。

奇怪的是,如果您可以通过两个 IP 远程访问该网站,则表明 IIS6 正在通过两个 IP 上的端口 80 提供内容。因此,在服务器本地,无需路由即可访问本地 IP,您应该会获得相同的内容。

您能否具体说明一下当失败时您收到的错误是什么?

最后,尝试在服务器上运行 SysInternals 的进程监视器。设置您的过滤器以监视网站目录(index.htm 所在的位置)中的文件访问,以及端口 80 上的网络活动。执行测试并查看您得到的结果(提示 - 设置过滤器后,启用“删除过滤事件”选项以节省 RAM)。

相关内容