解决MSN无法登录问题和WPAD和WSUS之间有冲突问题

解决MSN无法登录问题和WPAD和WSUS之间有冲突问题

时间:2011-05-09 17:43 来源:MSN家园 作者: 点击:129次

最近遇到两个关于MSN的问题,一个是MSN无法登陆问题,另一个是WPAD和WSUS之间有冲突问题。虽然这是两个不同问题,解决方法却是同一个,一举两得的这个方法现在就教给大家。

我们先在MSN问题上找到了突破口,查询微软Technet三月份的安全博客时,忽然发现有篇文章介绍MSN登录原理,文章提到如何希望MSN通过代理服务器登录服务器,仅仅配置Web代理是不够的,MSN只是在完成登录的部分工作时使用到Web代理!注意,这也就意味着如果仅仅在MSN中配置下图所示的Web代理,是无法完成MSN登录的。
     
    通过在客户机上抓包分析,发现MSN登录时要做很多工作,要联系一些*.microsoft.com的服务器,要联系一些*.hotmail.com的服务器,还要联系一些*.live.com和*.msn.com的服务器。当MSN访问这些服务器时,有部分工作可以由Web代理完成,但有些工作是不能通过Web代理的。那剩下的登录工作应该交给谁呢?答案是Winhttp代理!

解决MSN无法登录问题和WPAD和WSUS之间有冲突问题_第1张图片

Winhttp代理和Web代理是两套不同的代理机制,我们在浏览器中配置的代理服务器属于Web代理,那Winhttp代理应该如何配置呢?其实在Win7计算机中使用Netsh就可以轻松配置,如下图所示,我们在Win7客户机中以管理员身份运行一个命令提示符,然后输入:Netsh Winhttp Set Proxy proxy.chamc.com.cn:80。这条指令的目的就是把我们当前使用的代理服务器proxy.chamc.com.cn设置为Winhttp的代理服务器。
     
    设置了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可以启用了。用户的Winhttp代理可以通过WPAD自动获取配置,不需要通过Netsh Winhttp进行配置。现在,用户登录MSN,访问WSUS服务器都没有问题了,非常和谐。从这个问题中,我们可以得出两个结论:第一是不要迷信微软,微软的产品之间也会有兼容性问题;第二是一定要相信微软,问题最终还是可以解决的。

解决MSN无法登录问题和WPAD和WSUS之间有冲突问题_第2张图片

解决MSN无法登录问题和WPAD和WSUS之间有冲突问题_第3张图片

解决MSN无法登录问题和WPAD和WSUS之间有冲突问题_第4张图片

(责任编辑:admin)

你可能感兴趣的:(解决MSN无法登录问题和WPAD和WSUS之间有冲突问题)