Windows

為什麼我的一些客戶會在短時間內失去 HTTP 連接?

  • August 7, 2012

我在位於 Sonicwall 防火牆後面的英特爾伺服器硬體上的 Windows Core 2008 R2 伺服器上虛擬化的 Server 2008 R2 上執行 IIS 7.5。

幾個月來,我們有少量客戶(可能每週一個)聯繫我們說他們無法訪問該網站。發生這種情況時,我立即開始診斷問題,這就是我發現的:

  1. 我可以訪問網站。
  2. 我們在其他地點的支持人員可以訪問該網站。
  3. 大概(因為我們沒有收到他們的消息),其他客戶可以訪問該網站。
  4. 客戶可以對伺服器執行 ping 和跟踪。
  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(主機 O/S)和 Server 2008 R2(來賓 O/S)之間的虛擬網路連接可能會在一段時間內阻塞連接。不知道如何測試/診斷這個。
  4. 主機上的 NIC 驅動程序可能有一些奇怪的問題?也不知道如何測試這個。

這不是一個非常令人滿意的解決方案,但我最終從上面描述的虛擬化解決方案轉移到了獨立伺服器,到目前為止問題已經消失。我不知道是不是以前主機的網卡、虛擬機和主機之間的虛擬網路適配器有問題,還是完全其他問題,但目前一切執行順利。如果問題再次出現,我會更新這個問題/答案。

引用自:https://serverfault.com/questions/410776