为什么我的一些客户会短时间丢失 HTTP 连接?

为什么我的一些客户会短时间丢失 HTTP 连接?

我在位于 Sonicwall 防火墙后面的 Intel 服务器硬件上的 Windows Core 2008 R2 服务器上虚拟化的 Server 2008 R2 上运行 IIS 7.5。

几个月以来,我们一直有少量客户(大概每周一个)联系我们,说他们无法访问网站。当这种情况发生时,我会立即开始诊断问题,以下是我发现的情况:

  1. 我可以访问该网站。
  2. 我们在其他地方的支持人员可以访问该网站。
  3. 据推测(因为我们没有收到他们的消息),其他客户可以访问该网站。
  4. 客户可以 ping 和 tracert 到服务器。
  5. 客户无法访问同一服务器上共享同一 IP 地址的其他网站。
  6. 客户可以访问同一服务器上使用不同 IP 地址的其他网站。
  7. iisreset 不能解决问题。
  8. 重置客户的路由器并不能解决问题。
  9. 清除防火墙的 ARP 缓存并不能解决问题。
  10. 更改客户的浏览器和/或重新启动他的机器并不能解决问题。
  11. 切换到客户路由器后面的另一台计算机并不能解决问题。
  12. 在 15 到 30 分钟内,问题就会神奇地得到解决,客户可以再次访问网站。
  13. 当失败时,客户会看到超时消息,并且 IIS 日志根本不显示该请求的记录。

其他说明:

  1. 该问题对哪些客户有影响似乎没有固定规律。
  2. 我们不使用负载平衡。
  3. 除了防火墙之外,IIS 前面没有其他安全软件/硬件。
  4. IIS VM 具有所有最新的 Windows 更新。
  5. 服务器核心安装具有所有最新的 Windows 更新。
  6. Sonicwall 正在运行最新固件。

我怀疑可能是以下问题:

  1. 如果客户的浏览器错误地解析了网站的 DNS,则可能导致上述所有问题。下次发生这种情况时,我将使用 Fiddler 来验证浏览器尝试连接的 IP 地址。但不确定为什么 ping 能够从命令行正确解析它。
  2. 也许 Sonicwall 以某种方式阻止了连接。如果是这样,它只会阻止特定的源 IP + 目标 IP + 协议,并且只持续 15 - 30 分钟。我没有获得/激活任何 Sonicwall 的高级过滤服务。我可以通过重置 Sonicwall 来测试这个理论,考虑到其他用户同时访问服务器,这是一个有点可怕的提议。
  3. 也许 Server Core(主机操作系统)和 Server 2008 R2(客户操作系统)之间的虚拟网络连接在一段时间内以某种方式阻塞了连接。我不确定如何测试/诊断这个问题。
  4. 也许主机上的 NIC 驱动程序存在一些奇怪的问题?我也不确定如何测试这个。

答案1

这不是一个令人满意的解决方案,但我最终从上面描述的虚拟化解决方案转移到了独立服务器,到目前为止问题已经消失。我不知道这是之前主机网卡的问题,还是虚拟机和主机之间的虚拟网络适配器的问题,或者完全是其他问题,但目前一切运行顺利。如果问题再次出现,我会更新这个问题/答案。

相关内容