時間: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的了解,有時候它能幫助我們解決很多問題。