这很奇怪。我在 IIS 6 上设置了一个网站,该网站分配了一个唯一的 IP。奇怪的是,它在某些位置可以工作,但在其他位置却不行。DNS 解析到正确的 IP 地址,但是 ping 该地址超时。知道为什么该网站不工作吗?
值得注意的是,我还有其他网站从同一个 VPS 运行,但使用不同的 IP 地址。而且它们运行良好。
干杯
答案1
由于它不是 ping,所以它处于比 IIS 更低的级别。我唯一的猜测是您设置了一些自定义防火墙规则。还要确认您的服务器确实监听 ping,这样您才能确切知道预期的响应应该是什么。
要排除故障,请将范围缩小到最小的部分。即 ping 一个正常站点和一个故障站点的 IP,并确认其中一个站点监听 IP,而另一个站点不监听。在两个站点都正常工作的计算机上尝试相同的操作。
考虑无法正常工作的计算机中是否存在任何模式。它们是否位于不同的子网中,位于互联网的不同部分?检查从发生故障的计算机到服务器的路径上的所有防火墙规则。
答案2
尝试从两个方向进行 tracert。它们是否遵循相同的路由?也许来自您服务器的响应正在通过被阻止的不同路由。
答案3
听起来你可能遇到了套接字池问题。摘自微软的技术白皮书:
在 IIS4 中,您可以将不同的网站绑定到不同的 IP 地址。网站不共享套接字,但每个具有唯一 IP 地址的站点都有多个套接字。这些套接字是在网站启动时创建的,它们会消耗大量非分页内存 (RAM)。这种内存消耗限制了可在一台计算机上创建的绑定到 IP 地址的站点数量。
对于 IIS 5.0,此过程已被修改,以便绑定到不同 IP 地址但共享相同端口号的站点可以共享同一组套接字。
套接字池从 IIS 5.0 延续到当前的 Windows 版本。尝试禁用套接字池,看看您的网站是否可以正常运行。我遇到了这个问题,并写了一篇关于它的博客文章,标题为在 Windows 上分离 IP:PORT 绑定。