修复︰ ISA Server 2006 或前沿 TMG 2010 未检测到 TCP 重置响应时启用 HTTP 压缩

症状

请考虑以下情形:

  • 启用 HTTP 压缩在 Microsoft Internet 安全和加速 (ISA) 服务器 2006年或在 Microsoft 最前沿威胁管理网关 (TMG) 2010年。

  • 在客户机上,您使用 ISA Server 2006 或前沿 TMG 2010 为 Web 代理服务器连接到 Web 服务器。但是,Web 服务器需要很长的时间,以响应来自客户端的 HTTP 请求。

    注意:当 Web 服务器将数据发送到 ISA Server 2006 或前沿 TMG 2010 时,ISA Server 2006 或前沿 TMG 2010 积累数据。ISA Server 2006 或前沿 TMG 2010 不发送任何数据到客户端之前,Web 服务器将完成的 HTTP 请求。

  • Web 服务器将完成之前关闭 Web 浏览器响应。

  • 客户端发送 TCP 重置响应为 ISA Server 2006 或前沿 TMG 2010 上 TCP 会话已打开。

  • 尝试再次访问该 Web 站点和客户端或中间代理服务器使用相同的源端口,以前只是获取 TCP 重置响应 TCP 会话。

在这种情况下,ISA Server 2006 或前沿 TMG 2010 不检测 TCP 重置响应,直到 Web 服务器发送完整的 HTTP 响应,并使用相同的客户端端口将 ISA Server 2006 或前沿 TMG 2010 拒绝新客户端连接。因此,您无法通过使用同一源端口访问 Web 站点。

注意:Forefront TMG 2010 支持的修补程序将包括在前沿 TMG 2010 Service Pack 1 (SP1)。

解决方案

Service Pack 信息

在前沿 TMG 2010 Service Pack 1 中解决此问题。

有关如何获取前沿 TMG 2010 Service Pack 1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

981324中前沿威胁管理网关 2010 Service Pack 1 所修复的问题列表

修补程序汇总信息



修补程序安装信息

若要解决此问题,请执行以下步骤:

  1. 安装以下 Microsoft 知识库 (KB) 文章中介绍的修复程序汇总包︰

    ISA Server 2006 修补程序包980067描述︰ 2010 年 2 月 22 日

  2. 复制并粘贴到记事本下面的脚本︰

    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "AllowPrematureClientTermination"
    Const SE_VPS_VALUE = true

    Sub SetValue()

    ' Create the root obect.
    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

    ' Get 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
  3. 为.vbs 文件扩展名的文件将文件另存为 Microsoft Visual Basic 脚本文件。例如,保存该文件使用以下名称︰

    EnableKB980066.vbs

  4. 双击该.vbs 文件以运行它。

状态

Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的一个问题。这个问题最早在前沿 TMG 2010 Service Pack 1。

参考资料

有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

用于描述 Microsoft 软件更新的标准术语的824684说明

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×