我在服务器2008 R2上运行IIS 7.5,在位于Sonicwall防火墙后面的英特尔服务器硬件上的Windows Core 2008 R2服务器上虚拟化。
几个月来,我们有一小群客户(也许每周一次)联系我们,说他们无法访问该网站。 当发生这种情况时,我立即开始诊断问题,这是我find的:
- 我可以访问该网站。
- 我们在其他地点的支持人员可以访问该网站。
- 据推测(因为我们没有听到他们的消息),其他客户可以访问该网站。
- 客户可以ping通并跟踪服务器。
- 客户不能访问共享相同IP地址的同一台服务器上的其他网站。
- 客户可以访问使用不同IP地址的同一台服务器上的其他网站。
- iisreset不能解决问题。
- 重置客户的路由器不能解决问题。
- 刷新我们的防火墙的ARPcaching不能解决问题。
- 更改客户的浏览器和/或重新启动他的机器不能解决问题。
- 切换到客户路由器后面的其他计算机不能解决问题。
- 在15 – 30分钟内,这个问题不知怎么神奇地解决,客户可以再次访问该网站。
- 当它失败时,客户看到超时消息,IIS日志根本不显示请求logging。
其他说明:
- 似乎没有这种问题影响哪些客户的模式。
- 我们没有使用负载平衡。
- 除了防火墙之外,IIS之前没有其他的安全软件/硬件。
- IIS虚拟机具有所有最新的Windows更新。
- 服务器核心安装具有所有最新的Windows更新。
- Sonicwall正在运行最新的固件。
我怀疑的事情可能是问题:
- 如果客户的浏览器不正确地parsing可能导致上述所有问题的网站的DNS。 下次发生这种情况时,我将使用Fiddler来validation浏览器正在尝试连接的IP地址。 不知道为什么ping然后能够从命令行正确parsing它。
- 也许Sonicwall以某种方式阻止了连接。 如果是这样的话,它只能阻止一个特定的源IP +目的IP +协议,并且只能持续15到30分钟。 我没有任何授权/激活的SonicWall的高级过滤服务。 在问题发生的时候,我可以通过重置Sonicwall来testing这个理论,考虑到其他用户同时访问服务器,这有点吓人。
- 服务器核心(主机O / S)和Server 2008 R2(客户机操作系统)之间的虚拟networking连接可能以某种方式阻塞了连接一段时间。 不知道我怎么能testing/诊断这一个。
- 也许在主机上的NIC驱动程序有一些奇怪的问题? 不知道如何testing这一个。
这不是一个令人满意的解决scheme,但是我最终从上面描述的虚拟化解决scheme转移到了独立服务器,到目前为止问题已经消失。 我不知道以前的主机的网卡,虚拟机和主机之间的虚拟网卡,还是其他什么东西都有问题,但是现在的情况一切正常。 如果问题再次出现,我会更新这个问题/答案。