文章編號: 2518684 - 上次校閱: 2011年6月15日 - 版次: 2.0

修正: 外寄要求失敗可能會發生於 HTTPS 檢查已啟用,並且出現在 Forefront 威脅管理閘道 2010年環境的 web 伺服器連線逾時

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

徵狀

在 Microsoft Forefront 威脅管理閘道 (TMG) 2010年環境中啟用 HTTPS 檢查時,某些外寄的 POST 要求可能會沒有被傳送到外部網頁伺服器的張貼內容不正確地處理。

比方說,請考慮下列案例:
  • 用戶端對 web 伺服器,以擷取網頁外送 SSL 要求。
  • TMG 檢查流量,並使 web 伺服器的向外連接。
  • 要求提供給用戶端和兩個 「 用戶端以 TMG 」,系統會維持"TMG 到 web 伺服器 「 TCP 連接。
  • 很短的時間,以更新版本中,若到達閒置時間的 web 伺服器連線,web 伺服器逾時後關閉"TMG 到 web 伺服器 」 連接。
  • 因為連線目前不被使用,TMG 伺服器不被偵測已關閉 「 TMG 到 web 伺服器 」 連線。
  • 用戶端可使用現有的 「 用戶端以 TMG 」 連線到 web 伺服器 POST 要求。
  • TMG 會接收的要求、 檢查"TMG 到 web 伺服器 」 連線,並找出連線已關閉的 web 伺服器。
  • TMG 發出信號給用戶端連線終止。

在這個案例中,您希望透過新的連線重送要求用戶端。不過,這並不會發生,因為暴露在 Internet Explorer 的問題。下面的文件 「 Microsoft 知識庫 」 中的文說明 Internet Explorer 問題:
895954? (http://support.microsoft.com/kb/895954/ ) 當您使用 Microsoft Internet Explorer 或另一個程式來執行 「 re-POST 」 作業時,回傳的標頭資料
附註除了張貼錯誤,此案例/問題 TK 仍然會造成隨機出現 「 無法顯示網頁 」 錯誤訊息的 GET 要求如果多個連線的逾時。這是因為 Internet Explorer 重試 GET 要求三次。如果所有進行三個嘗試已逾時外部 web 伺服器的連線,也可能發生的要求失敗。

解決方案

若要解決這個問題,請在下面的文件 「 Microsoft 知識庫 」 中的文安裝軟體更新所述:
2517957? (http://support.microsoft.com/kb/2517957/ ) 軟體更新 1 彙總套件 4 Forefront 威脅管理閘道 (TMG) 2010年服務封包 1
此修正程式會偵測到外部連線逾時由 web 伺服器,並關閉相關聯的內部用戶端連線。這種新方式可以避免公開的 Internet Explorer 問題。

在安裝此軟體更新之後,您必須藉由執行下列指令碼啟用新的行為:
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "EnableHTTPSiConnectionTerminationNotification"
Const SE_VPS_VALUE = true

Sub SetValue()

  ' Create the root object.
  Dim root ' The FPCLib.FPC root object
  Set root = CreateObject("FPC.Root")

  'Declare the other objects needed.
  Dim array ' An FPCArray object
  Dim VendorSets ' An FPCVendorParametersSets collection
  Dim VendorSet ' An FPCVendorParametersSet object

  ' Obtain references to the array object
  ' and the network rules collection.
  Set array = root.GetContainingArray
  Set VendorSets = array.VendorParametersSets

  On Error Resume Next
  Set VendorSet = VendorSets.Item( SE_VPS_GUID )

  If Err.Number <> 0 Then
  Err.Clear

  ' Add the item
  Set VendorSet = VendorSets.Add( SE_VPS_GUID )
  CheckError
  WScript.Echo "New VendorSet added... " & VendorSet.Name

  Else
  WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME)
  End If

  if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then

  Err.Clear
  VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE

  If Err.Number <> 0 Then
  CheckError
  Else
  VendorSets.Save false, true
  CheckError

  If Err.Number = 0 Then
  WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
  End If
  End If
  Else
  WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
  End If

End Sub

Sub CheckError()

  If Err.Number <> 0 Then
  WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
  Err.Clear
  End If

End Sub

SetValue
附註若要還原到 pre-fix 的行為,請依照下列步驟執行:
  1. 在指令碼中,找出下面這一行:
    Const SE_VPS_VALUE = true
    變更下列這一行:
    Const SE_VPS_VALUE = false
  2. 儲存變更指令碼,然後再執行其中一個 TMG 陣列成員上的 [指令碼。

狀況說明

Microsoft 已確認這是在 「 Microsoft 產品資料 」 適用於 」 一節中所列的問題。

?考

如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
編號 824684? (http://support.microsoft.com/kb/824684/ ) 用來描述 Microsoft 軟體更新標準術語的說明


這篇文章中的資訊適用於:
  • Microsoft Forefront Threat Management Gateway 2010 Enterprise
  • Microsoft Forefront Threat Management Gateway 2010 Standard
  • Microsoft Forefront Threat Management Gateway 2010 Service Pack 1
關鍵字:?
kbexpertiseinter kbbug kbsurveynew kbqfe kbfix kbmt KB2518684 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2518684? (http://support.microsoft.com/kb/2518684/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。