隨機 HTTP 連線問題

隨機 HTTP 連線問題

我遇到了一個奇怪的互聯網訪問問題,我不知道如何調試。大約 90% 的情況下,一組特定網站將無法載入並顯示「連線重設」狀態。透過 IP 存取它們會產生相同的結果。 ping IP 有效(無資料包遺失)。我正在執行安裝了最新更新的 Windows Server 2012。

Fiddler(HTTP MITM 偵錯器)告訴我 HTTP 回應是「HTTP 504」。 Wireshark 顯示我在 TCP 層級接收「連線重設」封包。

我嘗試過以下更改:

出現以下情況時問題仍然存在:

  • 透過IP存取
  • 使用 wget
  • 使用不同的網路介面卡(具有 3G 功能的 USB 系留電話)
  • 使用不同的瀏覽器
  • 在 VirtualBox VM 中使用瀏覽器
  • 停用防火牆
  • 啟動進入安全模式聯網。
  • 更改 DNS 伺服器。
  • 以不同的非管理員使用者身分登入。

出現以下情況時問題就會消失:

  • 使用不同的機器
  • 使用任務範圍
  • 使用不同的作業系統
  • 在 Fiddler 中重新發出 HTTP 請求超過五次(即前 5 次重新發出失敗,之後的重新發出失敗)。
  • 使用 Fiddler 捕獲 HTTP 請求並在另一台電腦上重新發出它。

我最後的手段是重新安裝作業系統。還有什麼我可以嘗試調試這個問題嗎?

答案1

失敗的連線是與啟用 CloudFlare 的網站的 TCP 連線。 Windows Server 2012 預設啟用明確擁塞通知 - ECN 和 CWR(擁塞視窗減少)標誌在 TCP 封包中設定為 true。

我透過運行解決了問題

netsh interface tcp set global ecncapability=disabled

答案2

這有點不太可能,但我已經看到這個過程解決了一些奇怪的問題,否則我無法解決這些問題。因此,在完全重新安裝之前,絕對值得一試。

透過執行下列命令重設 Windows 電腦上的 TCP/IP 堆疊

netsh int ip reset c:\resetlog.txt(日誌路徑的最後一個參數是可選的)

如果您點擊下面的鏈接,還有一個自動化工具。

文件:http://support2.microsoft.com/kb/299357/en

相關內容