症状请考虑以下情形: 您访问 Microsoft Internet Security and Acceleration (ISA) Server 2004 中发布网…请考虑以下情形:

  • 您访问 Microsoft Internet Security and Acceleration (ISA) Server 2004 中发布网站。 或者,您在通过将作为 Web 代理的 ISA Server 2004 访问网站。
  • 在 ISA Server 2004 中启用压缩筛选器 Web 筛选器。
  • 网站发送到客户端 HTTP / 0.9 响应。


在这的种情况下您收到以下错误信息之一。
错误消息 1

HTTP / 1.1 502 代理错误 (指定的网络名称操作不再可用。

错误信息 2

错误代码 64: 主机不可用
背景: 网关或代理服务器丢失连接到 Web 服务器。

原因
HTTP / 0.9 响应具有只正文,但没有头。 该 Web 站点关闭以指示响应结束连接。
但是,压缩筛选器在 ISA Server 中的 Web 筛选器需要 HTTP / 1.0 或 HTTP / 1.1 响应。 压缩筛选器 Web 筛选器不能识别 HTTP / 0.9 响应。 因此,压缩筛选器 Web 筛选器假定连接丢失或重置 Web 站点发送所有 HTTP 响应头之前。

解决方案
要解决此问题,请按下列步骤操作:

  1. 应用此修复程序包下面的 Microsoft 知识库文章中所述:945043 (http://support.microsoft.com/kb/945043/ ) 日版 ISA Server 2004 的修补程序包: 2007 年 11 月 12
  2. 启动记事本。
  3. 复制下面的代码,然后将其粘贴记事本
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "EnableHotfix944114"
    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 required objects.
        Dim array       ' An FPCArray object
        Dim VendorSets  ' An FPCVendorParametersSets collection
        Dim VendorSet   ' An FPCVendorParametersSet object
    
        ' Get references to the array object
        ' and to 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

     

  4. 通过使用.vbs 扩展名中,将该文件保存为 Microsoft Visual Basic 脚本文件。 是例如使用下列名称保存该文件:EnableHotfix944114.vbs
  5. 在命令提示符下更改为在步骤 4 中, 保存该文件的位置,然后运行下面的命令:cscript EnableHotfix944114.vbs

请注意 若要还原默认设置,编辑脚本通过更改”const SE_VPS_VALUE = 如果为 True”,”const SE_VPS_VALUE = false” 将该的脚本保存,然后再运行。

替代方法
要解决此问题,禁用压缩筛选器在 ISA Server 中的 Web 筛选器。

状态
Microsoft 已确认这是”适用于”一节中列出的在 Microsoft 产品中存在的问题。


这篇文章中的信息适用于:

  • Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition

关键字: 

kbmt kbqfe kbexpertiseinter KB944114 KbMtzh