win2003+ISA2004客户端浏览网页发生代码64错误的解决

简介:
症状:
ISA服务器安装windows server 2003 和ISA server 2004后,安装和配置过程一切正常,但客户端访问网页时必须多次刷新才能显示,否则将出现代码为64的错误提示。最明显的症状是163邮箱无法登录,如下错误所示:

错误代码 64: 主机不可用
背景: 网关或代理服务器失去连接到 Web 服务器。
或者通过将 ISA Server 2004 用作 Web 代理您访问网站。
在 ISA Server 2004 中启用压缩筛选 Web 筛选器。
Web 站点发送到客户端 HTTP / 0.9 响应。

原因:
最开始以为是操作系统和ISA版本的问题,但重装系统和更新ISA版本结果仍旧一样,后来的ISAcn.org朋友们的帮助下,终于解决了此问题。问题原因在于ISA 2004的http压缩筛选器存在BUG,并且windows 2003 sp2的SNP功能与ISA存在着兼容性问题。

解决方法:
1、按KB944114文章所述,运行如下脚本:
       先将如下脚本存为isa.vbs
 
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

    . 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
        W..Echo "New VendorSet added... " & VendorSet.Name

    Else
        W..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
                W..Echo "Done with " & SE_VPS_NAME & ", saved!"
            End If
        End If
    Else
        W..Echo "Done with " & SE_VPS_NAME & ", no change!"
    End If

End Sub

Sub CheckError()

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

End Sub

SetValue

 
      在命令行下运行 c s c r i p t isa.vbs

2、按KB945043所述下载KB945043http压缩补丁安装(有 英文版中文版的,必须与所装ISA语言版本对应),重启ISA。

3、更改如下注册表键值:
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
   EnablePMTUDiscovery 设置为1
   EnableTCPChimney 设置为0
   EnabledRSS 设置为0

4、重启ISA。

再不行,再打上 KB948496补丁.

替代方法:

禁用Add-in--webfilters-httpfilter,再取消http协议与web proxy filter的绑定。但不建议这样做,因为这样ISA将无法进行HTTP应用层进行过滤,对网络安全造成影响。


本文转自 donhuang 51CTO博客,原文链接:http://blog.51cto.com/donhuang/107602

相关文章
错误代码502,网页无法打开?教你如何解决!
错误代码502,网页无法打开?教你如何解决!
|
3月前
|
安全
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
|
7月前
|
安全
解决window服务器打开网页都要添加信任地址的问题
解决window服务器打开网页都要添加信任地址的问题
|
Web App开发 UED C++
在chrome浏览器中调用IE浏览器并访问(openIE.reg自定义协议)
在chrome浏览器中调用IE浏览器并访问(openIE.reg自定义协议)
|
网络安全 数据安全/隐私保护
MAC使用Charles,代理后,部分网页无法打开解决方法
关闭charles,重新打开,可正常访问日常网站。访问时,提示:您的连接不是私密连接,多半是因为,MAC系统未安装charles证书导致,解决方法如下: 1. 打开Charles,选择Help-&amp;gt;SSL Proxy→Install Charles Root Certificate 2. 在弹出的添加证书窗口中,选择添加,可以看到在钥匙串访问窗口中,该证书已成功添加,但是此时该证书仍然不被信任 3.双击此证书,在弹出的Charles Proxy CA窗口中,点击信任按钮,使用此证书时,选择始终信任后关闭窗口,使用账号和密码授权后,即可看到此证书已经被信任了。。。
5536 0
MAC使用Charles,代理后,部分网页无法打开解决方法
win10显示此设备不支持接收miracast的解决办法【【百度的方法均不好使,自己发现的,亲测有效!!!!】】
win10显示此设备不支持接收miracast的解决办法【【百度的方法均不好使,自己发现的,亲测有效!!!!】】
win10显示此设备不支持接收miracast的解决办法【【百度的方法均不好使,自己发现的,亲测有效!!!!】】
|
Web App开发 iOS开发
Mac 打开safari浏览器直接卡死解决方法,解决Safari浏览器访问网页卡死重新再打开浏览器还是卡死实例演示
Mac 打开safari浏览器直接卡死解决方法,解决Safari浏览器访问网页卡死重新再打开浏览器还是卡死实例演示
2232 0
Mac 打开safari浏览器直接卡死解决方法,解决Safari浏览器访问网页卡死重新再打开浏览器还是卡死实例演示
|
Ubuntu
ubuntu上找不到wifi适配器,浏览器找不到服务器解决办法
ubuntu上找不到wifi适配器,浏览器找不到服务器解决办法
336 0
ubuntu上找不到wifi适配器,浏览器找不到服务器解决办法
|
Web App开发 数据安全/隐私保护
Windows10更新1903后,chrome内核浏览器打开网页链接错误
百度的解决方法普遍不管用,于是只好求助Google这次国外水友水平好像高一些,提供一个新方法,也许可以解决你的问题这个问题应该是出现 Cryptographic Services 服务的权限上1、打开服务管理面板:Win+R,输入 services.
2244 0