症状
请考虑以下情形:
-
启用 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 = trueSub 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 IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue -
为.vbs 文件扩展名的文件将文件另存为 Microsoft Visual Basic 脚本文件。例如,保存该文件使用以下名称︰
EnableKB980066.vbs
-
双击该.vbs 文件以运行它。
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的一个问题。这个问题最早在前沿 TMG 2010 Service Pack 1。
参考资料
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明