时间:2011-05-16 10:35:19 作者:不思议游戏 浏览量:75
设置了Winhttp代理后,果然效果不凡,大家的MSN纷纷能够成功登录了!真是不容易啊,这个该死的微软,居然画蛇添足地设计什么Winhttp代理!群众中有几个人懂这个啊,都使用Web代理不就完事了嘛,这些程序员到底有木有脑子啊!大家正在义愤填膺地谴责微软,忽然有同事发现新问题了。只要在计算机上配置了Winhttp代理,就无法访问WSUS服务器了!
命令提示符二
检查一下计算机c:\windows\windowsupdate.log文件,可以发现客户机访问WSUS服务器时的日志内容,日志中有这样的语句DownloadFileInternal failed for http://hq-sus/selfupdate/wuident.cab: error 0x801901f6。这种错误提示和配置WPAD后的错误提示完全相同,这种情况下我们就提高警惕了,为什么WSUS和Winhttp代理之间也有这种兼容性问题呢?
通过查阅资料,发现原来WSUS客户端在访问WSUS服务器时,也是要调用Winhttp代理进行通讯的。由于WSUS客户机和WSUS服务器同在TMG的内网,因此WSUS客户机应该直接访问WSUS服务器,根本不应该客户机先访问到TMG服务器,然后再通过TMG服务器访问WSUS服务器!找到问题之后,怎么解决呢?其实解决方法也很简单,在netsh Winhttp中设置旁路列表,告诉Winhttp代理,访问WSUS服务器不用经过Winhttp代理,这样就可以了。例如WSUS服务器是hq-sus,那么我们就可以在客户机上输入如下图所示命令:Netsh Winhttp set proxy proxy.chamc.com.cn:80 “hq-sus”。这条指令就是通知Winhttp代理,访问hq-sus服务器可以直接访问,不用经过Winhttp代理了。如果有内网其他的服务器要排除,可以用分号隔开。
在客户机上配置完Netsh Winhttp后,问题解决了。用户可以登录MSN,也不会和WSUS有冲突了,问题貌似圆满解决啊!但是,但是,问题好像还留了一个小尾巴。为什么WSUS和WPAD当初会有冲突呢?难道也是类似原因导致的。在微软网站找资料!找啊找,找啊找,嘿嘿,功夫不负有心人啊,真的被俺找到了。原来Winhttp代理除了可以通过Netsh Winhttp进行配置,还可以通过WPAD进行自动配置。但是,当Winhttp代理通过WPAD下载wpad.dat文件进行自动配置时,由于wpad.dat文件中没有对wsus服务器进行排除,因此WSUS客户端通过Winhttp代理就不会直接访问WSUS服务器。而是需要通过TMG代理服务器去访问WSUS服务器,这样当然是不行的!
属性设定
搞清楚道理,问题就好解决了。只要在配置WPAD时把内网的WSUS服务器排除之外就OK了。在TMG服务器上打开管理控制台,找到“网络连接”-“内部”-“属性”中的“Web浏览器”标签,如上图图所示,把WSUS服务器hq-sus添加到直接访问的列表中,这样WPAD就会通知使用Web代理或Winhttp代理不要通过代理服务器访问WSUS服务器,如果还有其他的服务器要排除,参考这种操作就可以。
排除的服务器可以通过TMG服务器上的wpad.dat文件体现出来,我们可以使用浏览器从TMG服务器上下载wpad.dat文件查看排除服务器列表。如下图所示,我们使用记事本打开TMG服务器上的wpad.dat,可以看到WSUS服务器hq-sus已经被排除使用代理服务器访问了。
WPAD记事本
现在,通过在WPAD中设置排除服务器,WPAD可以启用了。用户的Winhttp代理可以通过WPAD自动获取配置,不需要通过Netsh Winhttp进行配置。现在,用户登录MSN,访问WSUS服务器都没有问题了。
总结:文中共使用到internet设置、WPAD记事本编辑以及DOS命令提示符。这些操作的加入,可能在大多数用户的使用过程中,DOS提示符相对来说可能会更陌生一些,但是只要加深对DOS的了解,有时候它能帮助我们解决很多问题。