症状
请考虑以下情形:
-
启用 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 所修复的问题列表
修补程序汇总信息
修补程序安装信息
若要解决此问题,请执行以下步骤:
-
安装以下 Microsoft 知识库 (KB) 文章中介绍的修复程序汇总包︰
ISA Server 2006 修补程序包980067描述︰ 2010 年 2 月 22 日
-
复制并粘贴到记事本下面的脚本︰
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 -
为.vbs 文件扩展名的文件将文件另存为 Microsoft Visual Basic 脚本文件。例如,保存该文件使用以下名称︰
EnableKB980066.vbs
-
双击该.vbs 文件以运行它。
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的一个问题。这个问题最早在前沿 TMG 2010 Service Pack 1。
参考资料
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明