概要
当你访问Windows Update v.5 Web站点或者使用自动更新时,你可能会收到一个错误信息。这个问题只有在用户通过一个需要身份验证的代理服务器或者代理服务器禁止空用户通过验证时产生。
可能的原因
当通过Web代理来访问Windows Update时,有两个问题会影响Windows Update v.5:
1、用户凭证信息可能在一个半关闭的连接上进行传送。当客户在一个已经被代理服务器上关闭了的TCP连接上发送一个HEAD请求时会发生这种问题。Internet Explorer有个已知的这种问题,在微软知识库中有对应的文章 KB838893,在Internet Explorer 6 SP1中返回了“The server returned an invalid or unrecognized response”的错误信息。
2、认证响应可能包含空的认证信息(域和用户名是空的)。因为Windows Update客户端在通过代理服务器时,是使用空用户来进行认证。如果代理服务器不允许空用户的请求,那么Windows Update客户的请求将会被拒绝掉。
以上的其中一个都可以在单个客户会话中进行监测,但是不能在同个HTTP请求中进行监测。
故障现象
1、问题一的故障现象:
在你第一次连接到Windows Update站点时,当Windows Update组件在检查最新的Windows更新补丁时,以下的信息将会显示,同时指定错误号:
Windows Update has encountered an error and cannot display the requested page. In the upper right on the page, you will see the following: [Error number: 0x80072F78].
2、问题二的故障现象:
在这个问题中,连接到Windows Update站点的初始连接是正常的,错误出现在Windows Update组件检查后,当你选择高级安装或者自定义安装,将会显示以下的错误信息,同时指定错误号:
Windows Update has encountered an error and cannot display the requested page. In the upper right on the page, you will see the following: [Error number: 0x80244021].
另外,空用户登录将会产生一个错误号为0x80244018或者0x80244019的错误信息。
解决方案
问题一解决方案:
为了解决这个问题,在内部网络中所有使用Windows Update v.5的客户计算机上,安装KB871260中的补丁,这个是为Internet Explorer 5.x 和6.0的回滚补丁。
注意,Windows XP SP2已经包含了这个补丁,如果客户计算机是安装的XP,那么请打SP2补丁。
问题二解决方案
现在对于这个问题,还没有最终的解决方案,在工作环境中,请:
1、不要为访问Windows Update站点启用身份验证;
在允许匿名用户访问Windows Update站点的规则中,应包含以下目的地:
*.download.microsoft.com
*.windowsupdate.com
*.windowsupdate.microsoft.com
windowsupdate.microsoft.com
另外,如果你在ISA Server上使用了内容过滤插件,你可能需要配置它来允许匿名访问Windows Update站点。
ISA Server 2000 考虑事项
对于ISA Server 2000,考虑以下事项:
在工作环境中,考虑访问规则的冲突性;
注意在KB297324中描述的ReturnDeniedIfAuthenticated注册表设置不是这个问题的原因。如果你过去按照这个KB进行了注册表的设置,你不需要移除它。
配置方法
为了配置工作环境中的ISA Server,按照以下指令来配置你对应的ISA Server:
1、配置ISA Server 2000
(1)为Windows Update域名建立一个目的集
执行以下步骤:
1.在ISA Server管理控制台,点击展开阵列名,然后展开策略元素;
2.右击目的集,点击新建,然后点击集;
3.在新目的集页,在名字栏,输入Windows Update;
4.点击添加,然后在目的栏,输入*.download.microsoft.com,不要指定任何路径。
5.重复1~4,为上面列出的其他Windows Update站点进行添加。
(2)为Windows Update请求建立一个匿名站点和内容规则
执行以下步骤:
1.在ISA Server管理控制台,展开阵列名,然后展开访问访问规则;
2.右击站点和内容规则,点击新建,然后点击规则;
3.在新建站点和内容规则向导的第一页,在名字栏,输入Windows Update,然后点击下一步;
4.在规则动作页,选择允许,然后点击下一步;
5.在规则配置页,点击Allow access based on destination,然后点击下一步;
6.在目的集页,在Apply this rule to选择指定的目的集;
7.在名字,选择刚才建立好的Windows Update,点击下一步;
8.然后点击完成。
(3)建立一个匿名HTTP/HTTPS规则
如果你现在的访问规则要求身份验证(限制了指定的用户和组),你应该建立一个允许匿名访问的HTTP/HTTPS访问规则,如下:
1.在ISA Server管理控制台,展开阵列名,然后展开协议规则;
2.右击协议规则,然后点击新建,点击协议规则;
3.在新建协议规则向导的第一页,在名字栏,输入Windows Update,点击下一步;
4.在规则动作页,点击允许,然后点击下一步;
5.在协议页,在Apply this rule to点击选择的协议;
6.在协议列表,选择HTTP和HTTPS,然后点击下一步;
7.在计划时间,点击下一步;
8.在客户类型,点击下一步;然后点击完成来完成向导。
注意:对于ISA Server 2000访问规则的修改不是立即生效的,并且对已经存在的会话无效。更多的信息,见微软知识库文章KB281985,ISA Server Changes are not instantaneous。
2、配置ISA Server 2004标准版
(1)为Windows Update请求建立一个允许全部访问的规则
执行以下步骤:
1.在ISA Server管理控制台,展开服务器名,右击防火墙策略,点击新建,然后点击访问规则;
2.在新建访问规则向导的第一页,在名字栏,输入Windows Update,点击下一步;
3.在规则动作页,点击允许,然后点击下一步;
4.在协议页,选择选择的协议,然后点击添加;
5.在添加协议对话框,展开Web;
6.添加HTTP和HTTPS,然后点击关闭,再点击下一步;
7.在访问规则源,点击添加;
8.在添加网络对象页,展开网络目录,选择内部,然后点击添加;
9.选择需要使用Web代理的其他网络,然后点击关闭,再点击下一步;
10.在访问规则目的页,点击添加;
11.在添加网络实体目录,点击新建,然后点击域名集;
12.在新建域名集规则元素页,在名字栏输入Windows Update;
13.点击新建,然后修改域名为*.download.microsoft.com;
14.重复步骤13来建立Windows Update站点的其他域名,然后点击确定;
15.展开域名集,然后选择刚才建立的Windows Update,点击添加,然后点击关闭,然后点击下一步;
16.在用户集页,点击下一步,然后点击完成关闭向导。
17.点击应用以保存修改和更新防火墙策略。
(2)配置这条规则作为第一条规则
执行以下步骤:
1.在ISA Server管理控制台,点击防火墙策略;
2.如果Windows Update不是列表中的第一条规则,执行以下步骤:
在细节面板,选择Windows Update访问规则;
在任务面板,选择Move up来将其移到最上面;
点击应用保存修改和更新防火墙策略。
如果你想把把拒绝规则放在前面,那么配置这条Windows Update规则作为拒绝规则后的第一条规则。
注意:ISA Server 2004规则的修改不会影响现有的会话,更多的信息,请参见微软知识库文章KB841140,“Changes to the firewall policy only affect new connections in ISA Server 2004”。