我在同一个私有局域网上拥有三台 Windows 主机,每台主机都托管一个 IIS 默认网站。一台主机运行 Windows 7 Pro,另外两台运行 Windows 8.1 更新版本 6.3(内部版本 9600)。
本地子网上的其他计算机可以在浏览器中输入每台主机的私有 IP 地址,打开这 3 台主机上的默认网站。
但是,当我将网关路由器上的 80 端口依次转发到 3 台主机的私有 IP 地址,然后在私有网络外的计算机上的浏览器中输入网关路由器的公网 IP 时,只有 Windows 7 主机显示其默认网站。两台 Windows 8.1 更新主机报告“此网页不可用。详细信息:主机响应时间过长。”此外,主机上的“C:\inetpub\logs\LogFiles\W3SVC1\u_exYYMMDD.log”中没有出现 HTTP 请求的记录。
所有三台主机的 Windows 防火墙入站规则“万维网服务(HTTP 流量进入)”均设置为配置文件:全部、已启用:是、操作:允许、覆盖:否、程序:系统、本地地址:任意、远程地址:任意、协议:TCP、本地端口:80、远程端口:任意、授权用户:任意、授权计算机:任意、授权本地原则:任意、本地用户所有者:任意、应用程序包:任意。
这个问题是在我安装二月中旬的 Windows 更新后出现的。如能提供任何帮助来诊断和修复该问题,我将不胜感激。
答案1
问题解决了。原来,问题出在 Check Point Software Technologies 的 Check Point VPN v98.60.202 上。我安装了这个软件是为了连接到公司客户的内部网络。
我怀疑这是 VPN 工作方式导致的,所以我之前关闭了 VPN 软件,但这并没有解决问题。我实际上需要完全卸载 Check Point VPN 软件并重新启动计算机,以删除它在操作系统的 TCP/IP 堆栈中建立的挂钩。这样主机子网之外的 IP 地址就可以再次由 IIS 8.5 提供服务。
答案2
但是,当我将网关路由器上的 80 端口依次转发到 3 台主机的私有 IP 地址,然后在私有网络之外的计算机的浏览器中输入网关路由器的公网 IP 时,只有 Windows 7 主机显示其默认网站。
您不能将同一端口转发到三个不同的主机并期望它们全部工作。这是您所做的吗?
两台 Windows 8.1 更新主机报告“此网页不可用。详细信息:主机响应时间过长。”此外,主机上的“C:\inetpub\logs\LogFiles\W3SVC1\u_exYYMMDD.log”中没有出现 HTTP 请求的记录。
但是当您使用公共 IP 地址时,如何尝试访问这两个主机?
您将需要另外两台主机的 Web 服务器在单独的端口上监听,并且这些端口从路由器转发。
因此,您可以使用以下命令访问其他主机上的网站:
如果可能的话,一个更好的方法是使用域名并让所有网站在同一主机的 Web 服务器上运行。然后,您可以为所有网站使用端口 80(但我不确定这在 IIS 的客户端版本上是否可行)。