徵兆
試想你有 Outlook 或其他 MAPI 應用程式透過硬體負載平衡器或其他網路裝置連接到 Exchange Server 2010。 該應用程式也需要長時間運行的 TCP 連線才能正常運作。 若網路裝置透過逾時設定關閉閒置連線,MAPI 應用程式將無法完成該連線上的請求。 如果應用程式是 Outlook,你可能會在用戶端電腦的應用程式事件日誌中看到以下事件:
日誌名稱:應用程式來源:Outlook事件 ID:25任務類別:無等級:資訊關鍵字:經典使用者:無電腦:Computer.contoso.com描述:無法執行所需操作。 所選指令對此接收者無效。 與 Microsoft Exchange 的連線無法使用。 Outlook 必須在線或連線才能完成此操作。
日誌名稱:應用程式來源:Outlook事件 ID:26任務類別:無等級:資訊關鍵字:經典使用者:無電腦:Computer.contoso.com說明:已恢復與 Microsoft Exchange 的連線。
原因
硬體負載平衡器或其他網路裝置(如防火牆或代理)的設定會導致用戶端連線中斷。 當裝置透過逾時或其他設定關閉閒置連線時,應用程式將無法完成先前關閉連線的後續請求。
解決方案
為了解決這個問題,請考慮以下解決方案:
-
請依照廠商建議或聯絡廠商技術支援團隊,確認網路裝置的設定。 這可能需要增加網路裝置的逾時,以避免長期連線被提前關閉。
-
對於連接 Exchange Server 2010 的應用伺服器,將該應用伺服器的 TCP Keep-Alive 時間設定為小於網路裝置閒置連線逾時視窗的值。 例如,如果裝置的閒置連線逾時為 15 分鐘,請將應用伺服器上的 TCP Keep-Alive 設為小於 15 分鐘。
預設情況下,TCP Keep-Alive 時間是 2 小時且已停用。 若要調整應用伺服器上的 TCP Keep-Alive 時間,請參閱 Microsoft 知識庫中的以下文章:
324270 如何在 Windows Server 2003 中加強 TCP/IP 堆疊以抵禦阻斷服務攻擊的 強調,這些連線通常是 Outlook 用戶端在線上模式下的內部 RPC 連線,而非 HTTP/Outlook Anywhere 連線上的 RPC。 這類問題常因會話逾時、網路設定、優化設定或其他需要修改的網路裝置功能而發生。 在許多情況下,會話逾時設定通常過低。 與網路設備供應商討論時,通常建議 RPC 逾時設定至少應為 120 分鐘。
其他相關資訊
上述兩種解決方案都可能防止 TCP 連線過早逾時。 注意,一個常用的測試是繞過該裝置。 這是透過用戶端的 Hosts 檔案或 DNS 記錄來存取陣列中的單一 CAS 伺服器來完成的。 然而,如果裝置同時作為閘道器使用,結果可能不夠準確。欲了解更多長連線資訊,請參閱以下網際網路工程工作小組文件中的第 4.2.3.6 節「TCP 保持連線」:
RFC 122 - 網際網路主機的需求 - 通訊層http://datatracker.ietf.org/doc/rfc1122/ 欲了解更多關於 2010 Exchange Server 負載平衡的資訊,請參閱 TechEd 2011 的以下簡報
2010 Microsoft Exchange Serverhttp://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/EXL307 負載平衡