Windows-Server-2008-R2

不規則的網際網路中斷:某些圖像和 JS 未載入

  • April 22, 2013

第一次使用 ServerFault,我遇到了一個不錯的小難題。

幾個月以來,我們的網際網路連接一直存在問題。

環境:

Servers: 2 Terminal Servers as an RDSFarm running Windows Server 2008 R2
Browser: Internet Explorer 9
Test/debug browser: Chrome
AntiVirus: Avast 7.0.1455

問題:

不定期地,網站拒絕載入,給出一個錯誤說頁面不可訪問,或者某些圖像沒有完全載入。此外,在檢查後,多個 .js 文件無法載入。

在此處輸入圖像描述

調查結果和我們嘗試了什麼:

第一印象:

當我在該時間間隔內使用 Chrome 時,該站點在刷新後返回 net:: 錯誤 101 或錯誤 103。在其他時候,如果它沒有給出錯誤,則幾個圖像不可見並顯示 X 圖像。IE 只是說頁面無法顯示。

在此處輸入圖像描述

使用 Chrome 開發者工具:

它在控制台中顯示幾個資源不可用,但是當我右鍵點擊失去的圖像並選擇“顯示圖片”時,它們會顯示出來。當我通過直接 URL 打開圖片時,它們也會顯示。

在此處輸入圖像描述

通過 Chrome 開發者工具進行審計:

當頁面處於錯誤狀態時,我對其進行了審核,發現一些 .js 文件沒有與一些 .png、.jpg 和 .gif 文件一起載入。為 Chrome 和 IE 載入不同的圖像。

在此處輸入圖像描述 在此處輸入圖像描述

混淆的 JS 文件和 Avast:

在檢查之後,我發現大多數 .js 文件都是經過混淆的 JS 文件,而且由於我們執行的是 Avast 7.0.1455,我想知道 Web Shield 是否沒有搞砸。

再說一次,它只發生在第一個 TS 上,而不是第二個。

所以我關閉了 WebShield 一天,看看是否有任何改善。它沒有。回到原點。

文件沒有記憶體過期:

其中一些未載入的文件被指示沒有記憶體過期。

記憶體:

我們的一位系統管理員不久前將 IE 記憶體大小更改為 10MB,我認為這可能是問題的根源。他把它改回了 65MB 左右,但人們仍然會遇到圖像問題。它也仍然發生在 1 TS 和 Chrome 中,所以我認為指示記憶體的組策略不會影響 Chrome,不是嗎?

在此處輸入圖像描述

網路問題: 我還認為可能是網路或路由問題,但兩台 TS 伺服器都在同一個組合 NIC 上,而另一台執行正常。

幫助!

如果有人對在哪裡尋找問題有一些提示,或者需要更多資訊,請幫助我。這已經困擾了我好幾個星期了。

編輯和更新

問題仍然存在,並且僅在我們的 2 台終端伺服器上。

這是我和一位同事到目前為止所做的:

  • 在一台伺服器上關閉防病毒軟體一天,看看它是否沒有發生。 問題還是出現了。
  • 檢查了 MTU-size

這是預設設置(忘記了確切的值:P) 問題仍然存在。

  • 已安裝 Windows 更新,IE10 問題仍然存在。
  • 檢查是否有任何代理。

AV 將代理作為所謂的 WebShield。我們在一台伺服器上禁用了該服務和程序一天。 問題還是出現了。

  • 重新安裝了 NIC 團隊,因為它變得一團糟。 *(還重新安裝了網卡驅動程序)*問題仍然存在。
  • 檢查組策略 *顯然在兩個終端伺服器中,有一個本地機器策略在 IE 中啟用了偏好模式,它完成了一些奇怪的自定義。禁用它,並且…*問題仍然存在。

現在,人們甚至在從 SharePoint 上傳和下載文件時遇到問題,而且我們使用的許多網站都因此而無法執行。

預感

這與 WebShield 在發現異常時斷開連接有關,但在 AV 關閉時不應該發生這種情況。

可能是重定向以某種方式搞砸了,或者記憶體有問題。奇怪的是,同樣的問題出現在 Chrome 以及 IE9 和 IE10 中。

如果有人有任何想法,將不勝感激。

感謝 HopelessN00b 幫助我!

更新:

在我們的原始 TS 之一上,我們在事件查看器中遇到了一些錯誤:

Error: (04/04/2013 08:44:42 AM) (Source: Application Error) (User: )
Description: Faulting application name: iexplore.exe, version: 9.0.8112.16470, time stamp: 0x510c8801
Faulting module name: MSHTML.dll, version: 9.0.8112.16470, time stamp: 0x510c9046
Exception code: 0xc0000005
Fault offset: 0x002d0174
Faulting process id: 0x21728
Faulting application start time: 0xiexplore.exe0
Faulting application path: iexplore.exe1
Faulting module path: iexplore.exe2
Report Id: iexplore.exe3

有時會出現這種情況,但顯然這是因為某些 WYSE 終端太舊(希望很快用 Raspberry Pi 替換它們)。

Error: (04/04/2013 11:21:46 AM) (Source: TermDD) (User: )
Description: The Terminal Server security layer detected an error in the protocol stream and has disconnected the client.
Client IP: [IP REDACTED].

希望這可以幫助。

嘗試不綁定 NIC。只設置一個 NIC,看看是否仍然有效。如果它確實確保您的交換機埠配置和 Teaming 配置對齊。

要在沒有準確錯誤消息的情況下診斷問題,您需要執行:

  • 客戶端的 tcpdump(wireshark 顯示效果很好)
  • 伺服器端的 tcpdump(查看伺服器實際發送的內容)。
  • 等待問題發生
  • 檢查數據包,並查看通信中斷的位置。如果您需要幫助檢查跟踪,請將其寫入文件。

我懷疑你會發現一個未回答的 DNS 查詢。如果您的 ISP 通過代理過濾您的流量,您應該能夠在流量中找到它的踪跡,尤其是通過比較伺服器端擷取與客戶端擷取。

如果出現網路質量問題,或許可以通過traceroute更直覺的觀察到。如果網路轉儲顯示通信順利,但瀏覽器無法顯示提供的數據,那麼您的問題是終端伺服器上的桌面問題。

您應該在使瀏覽器連接不起作用的終端伺服器上執行數據包擷取。

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