相關資訊
本類常用軟件
-
福建農(nóng)村信用社手機銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416895
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機銀行客戶端下載下載量:365699
-
快播手機版下載量:325855
最近在運維過程中,遇到了兩個歷史悠久而且截然不同的疑難問題。但巧合的是,兩個問題殊途同歸,最后居然使用了同樣的解決方法。為了慶祝送別這兩個問題,也為了和大家共同學習,共同進步,現(xiàn)在把解決問題的詳細過程獻出來和大家分享。
先對問題進行一下描述啊。第一個問題就是MSN無法登錄!估計很多朋友看到這個題目就要暗自點頭,大有一見如故的感覺。這個問題非常普遍,在我們公司更是由來已久。無論用戶的級別高低,無論使用的MSN版本新舊,總有一部分不和諧的用戶會跑來反映自己的MSN無法登錄。按理說,即時通訊軟件很不受網(wǎng)管待見,應該學會在夾縫里求生存,登錄方式應該手段繁多,花樣翻新。什么封裝成HTTP,HTTPS,什么通過Web代理,Socks代理,加密代理登錄等等,應該讓網(wǎng)管覺得MSN登錄真是防不勝防,堵不勝堵才好?蒑SN倒好,我們還沒想限制呢,它先自己頂不住了。
為了解決這個問題,勞動人民可是想了不少主意,大家上網(wǎng)搜了不少辦法。什么導入證書法,什么在瀏覽器中勾選自動檢測設置啊,這些方法倒也不是一無是處,可奇怪的是有些辦法在張三的機器上行,在李四的機器上就不行,搞來搞去,也沒有一個通用的解決辦法。最可氣的是有些用戶第一天能登錄,第二天就不能登錄了,搞得大家每次登錄MSN時心情都忐忑不安,充滿了憧憬和期待。以前在MSN中配置代理服務器登錄還是比較靠譜的一招,我們在TMG服務器上也配置了防火墻策略,希望用戶通過HTTPS協(xié)議登錄MSN服務器?珊髞砼渲肳eb代理基本上就毫無作用了。很長一段時間以來,遇到用戶無法登錄MSN,大家都很頭疼去進行技術支持。對比一下吃苦耐勞,從不挑肥揀瘦的QQ,這MSN跟別人的差距可真不是一星半點。
第二個問題也是一個老問題了,WPAD和WSUS之間有沖突。這個問題聽起來挺匪夷所思的,WSUS是干嘛的,WSUS是用于給客戶機自動更新微軟補丁的;WPAD是干嘛的,WPAD是自動在客戶機的Web代理或防火墻客戶端上配置代理服務器的。咋一看這兩者之間沒什么關聯(lián),可奇怪的是只要一啟用WPAD,客戶機能自動發(fā)現(xiàn)代理服務器的同時會立即和WSUS服務器失去聯(lián)系。為了解決這個奇怪的問題,我們在微軟特意開了CASE,可微軟抓了不少包進行分析,最后也沒分析出什么結果。結果呢,這個CASE就一直掛在那了。問題沒解決,我們只能在WPAD和WSUS之間選擇Kill一個了,WSUS是負責更新補丁的,安全問題應該優(yōu)先保證,所以只能委屈一下WPAD了。
介紹完現(xiàn)有的問題后,再來介紹一下是怎么解決問題的。我們先在MSN問題上找到了突破口,查詢微軟Technet三月份的安全博客時,忽然發(fā)現(xiàn)有篇文章介紹MSN登錄原理,文章提到如何希望MSN通過代理服務器登錄服務器,僅僅配置Web代理是不夠的,MSN只是在完成登錄的部分工作時使用到Web代理!注意,這也就意味著如果僅僅在MSN中配置下圖所示的Web代理,是無法完成MSN登錄的。
通過在客戶機上抓包分析,發(fā)現(xiàn)MSN登錄時要做很多工作,要聯(lián)系一些*.microsoft.com的服務器,要聯(lián)系一些*.hotmail.com的服務器,還要聯(lián)系一些*.live.com和*.msn.com的服務器。當MSN訪問這些服務器時,有部分工作可以由Web代理完成,但有些工作是不能通過Web代理的。那剩下的登錄工作應該交給誰呢?答案是Winhttp代理!
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代理不就完事了嘛,這些程序員到底有木有腦子啊!大家正在義憤填膺地譴責微軟,忽然有同事發(fā)現(xiàn)新問題了。只要在計算機上配置了Winhttp代理,就無法訪問WSUS服務器了!
檢查一下計算機c:\windows\windowsupdate.log文件,可以發(fā)現(xiàn)客戶機訪問WSUS服務器時的日志內(nèi)容,日志中有這樣的語句DownloadFileInternal failed for http://hq-sus/selfupdate/wuident.cab: error 0x801901f6。這種錯誤提示和配置WPAD后的錯誤提示完全相同,這種情況下我們就提高警惕了,為什么WSUS和Winhttp代理之間也有這種兼容性問題呢?
通過查閱資料,發(fā)現(xiàn)原來WSUS客戶端在訪問WSUS服務器時,也是要調(diào)用Winhttp代理進行通訊的。由于WSUS客戶機和WSUS服務器同在TMG的內(nèi)網(wǎng),因此WSUS客戶機應該直接訪問WSUS服務器,根本不應該客戶機先訪問到TMG服務器,然后再通過TMG服務器訪問WSUS服務器!找到問題之后,怎么解決呢?其實解決方法也很簡單,在netsh Winhttp中設置旁路列表,告訴Winhttp代理,訪問WSUS服務器不用經(jīng)過Winhttp代理,這樣就可以了。例如WSUS服務器是hq-sus,那么我們就可以在客戶機上輸入如下圖所示命令:Netsh Winhttp set proxy proxy.chamc.com.cn:80 “hq-sus”。這條指令就是通知Winhttp代理,訪問hq-sus服務器可以直接訪問,不用經(jīng)過Winhttp代理了。如果有內(nèi)網(wǎng)其他的服務器要排除,可以用分號隔開,具體語法可以參考http://technet.microsoft.com/en-us/library/cc731131%28WS.10%29.aspx。
在客戶機上配置完Netsh Winhttp后,問題解決了。用戶可以登錄MSN,也不會和WSUS有沖突了,問題貌似圓滿解決啊!但是,但是,問題好像還留了一個小尾巴。為什么WSUS和WPAD當初會有沖突呢?難道也是類似原因導致的。在微軟網(wǎng)站找資料!找啊找,找啊找,嘿嘿,功夫不負有心人啊,真的被俺找到了。原來Winhttp代理除了可以通過Netsh Winhttp進行配置,還可以通過WPAD進行自動配置。但是,當Winhttp代理通過WPAD下載wpad.dat文件進行自動配置時,由于wpad.dat文件中沒有對wsus服務器進行排除,因此WSUS客戶端通過Winhttp代理就不會直接訪問WSUS服務器。而是需要通過TMG代理服務器去訪問WSUS服務器,這樣當然是不行的!
搞清楚道理,問題就好解決了。只要在配置WPAD時把內(nèi)網(wǎng)的WSUS服務器排除之外就OK了。 在TMG服務器上打開管理控制臺,找到“網(wǎng)絡連接”-“內(nèi)部”-“屬性”中的“Web瀏覽器”標簽,如下圖所示,把WSUS服務器hq-sus添加到直接訪問的列表中,這樣WPAD就會通知使用Web代理或Winhttp代理不要通過代理服務器訪問WSUS服務器,如果還有其他的服務器要排除,參考這種操作就可以。
排除的服務器可以通過TMG服務器上的wpad.dat文件體現(xiàn)出來,我們可以使用瀏覽器從TMG服務器上下載wpad.dat文件查看排除服務器列表。如下圖所示,我們使用記事本打開TMG服務器上的wpad.dat,可以看到WSUS服務器hq-sus已經(jīng)被排除使用代理服務器訪問了。
現(xiàn)在,通過在WPAD中設置排除服務器,WPAD可以啟用了。用戶的Winhttp代理可以通過WPAD自動獲取配置,不需要通過Netsh Winhttp進行配置,F(xiàn)在,用戶登錄MSN,訪問WSUS服務器都沒有問題了,非常和諧。從這個問題中,我們可以得出兩個結論:第一是不要迷信微軟,微軟的產(chǎn)品之間也會有兼容性問題;第二是一定要相信微軟,問題最終還是可以解決的。
先對問題進行一下描述啊。第一個問題就是MSN無法登錄!估計很多朋友看到這個題目就要暗自點頭,大有一見如故的感覺。這個問題非常普遍,在我們公司更是由來已久。無論用戶的級別高低,無論使用的MSN版本新舊,總有一部分不和諧的用戶會跑來反映自己的MSN無法登錄。按理說,即時通訊軟件很不受網(wǎng)管待見,應該學會在夾縫里求生存,登錄方式應該手段繁多,花樣翻新。什么封裝成HTTP,HTTPS,什么通過Web代理,Socks代理,加密代理登錄等等,應該讓網(wǎng)管覺得MSN登錄真是防不勝防,堵不勝堵才好?蒑SN倒好,我們還沒想限制呢,它先自己頂不住了。
為了解決這個問題,勞動人民可是想了不少主意,大家上網(wǎng)搜了不少辦法。什么導入證書法,什么在瀏覽器中勾選自動檢測設置啊,這些方法倒也不是一無是處,可奇怪的是有些辦法在張三的機器上行,在李四的機器上就不行,搞來搞去,也沒有一個通用的解決辦法。最可氣的是有些用戶第一天能登錄,第二天就不能登錄了,搞得大家每次登錄MSN時心情都忐忑不安,充滿了憧憬和期待。以前在MSN中配置代理服務器登錄還是比較靠譜的一招,我們在TMG服務器上也配置了防火墻策略,希望用戶通過HTTPS協(xié)議登錄MSN服務器?珊髞砼渲肳eb代理基本上就毫無作用了。很長一段時間以來,遇到用戶無法登錄MSN,大家都很頭疼去進行技術支持。對比一下吃苦耐勞,從不挑肥揀瘦的QQ,這MSN跟別人的差距可真不是一星半點。
第二個問題也是一個老問題了,WPAD和WSUS之間有沖突。這個問題聽起來挺匪夷所思的,WSUS是干嘛的,WSUS是用于給客戶機自動更新微軟補丁的;WPAD是干嘛的,WPAD是自動在客戶機的Web代理或防火墻客戶端上配置代理服務器的。咋一看這兩者之間沒什么關聯(lián),可奇怪的是只要一啟用WPAD,客戶機能自動發(fā)現(xiàn)代理服務器的同時會立即和WSUS服務器失去聯(lián)系。為了解決這個奇怪的問題,我們在微軟特意開了CASE,可微軟抓了不少包進行分析,最后也沒分析出什么結果。結果呢,這個CASE就一直掛在那了。問題沒解決,我們只能在WPAD和WSUS之間選擇Kill一個了,WSUS是負責更新補丁的,安全問題應該優(yōu)先保證,所以只能委屈一下WPAD了。
介紹完現(xiàn)有的問題后,再來介紹一下是怎么解決問題的。我們先在MSN問題上找到了突破口,查詢微軟Technet三月份的安全博客時,忽然發(fā)現(xiàn)有篇文章介紹MSN登錄原理,文章提到如何希望MSN通過代理服務器登錄服務器,僅僅配置Web代理是不夠的,MSN只是在完成登錄的部分工作時使用到Web代理!注意,這也就意味著如果僅僅在MSN中配置下圖所示的Web代理,是無法完成MSN登錄的。
通過在客戶機上抓包分析,發(fā)現(xiàn)MSN登錄時要做很多工作,要聯(lián)系一些*.microsoft.com的服務器,要聯(lián)系一些*.hotmail.com的服務器,還要聯(lián)系一些*.live.com和*.msn.com的服務器。當MSN訪問這些服務器時,有部分工作可以由Web代理完成,但有些工作是不能通過Web代理的。那剩下的登錄工作應該交給誰呢?答案是Winhttp代理!
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代理不就完事了嘛,這些程序員到底有木有腦子啊!大家正在義憤填膺地譴責微軟,忽然有同事發(fā)現(xiàn)新問題了。只要在計算機上配置了Winhttp代理,就無法訪問WSUS服務器了!
檢查一下計算機c:\windows\windowsupdate.log文件,可以發(fā)現(xiàn)客戶機訪問WSUS服務器時的日志內(nèi)容,日志中有這樣的語句DownloadFileInternal failed for http://hq-sus/selfupdate/wuident.cab: error 0x801901f6。這種錯誤提示和配置WPAD后的錯誤提示完全相同,這種情況下我們就提高警惕了,為什么WSUS和Winhttp代理之間也有這種兼容性問題呢?
通過查閱資料,發(fā)現(xiàn)原來WSUS客戶端在訪問WSUS服務器時,也是要調(diào)用Winhttp代理進行通訊的。由于WSUS客戶機和WSUS服務器同在TMG的內(nèi)網(wǎng),因此WSUS客戶機應該直接訪問WSUS服務器,根本不應該客戶機先訪問到TMG服務器,然后再通過TMG服務器訪問WSUS服務器!找到問題之后,怎么解決呢?其實解決方法也很簡單,在netsh Winhttp中設置旁路列表,告訴Winhttp代理,訪問WSUS服務器不用經(jīng)過Winhttp代理,這樣就可以了。例如WSUS服務器是hq-sus,那么我們就可以在客戶機上輸入如下圖所示命令:Netsh Winhttp set proxy proxy.chamc.com.cn:80 “hq-sus”。這條指令就是通知Winhttp代理,訪問hq-sus服務器可以直接訪問,不用經(jīng)過Winhttp代理了。如果有內(nèi)網(wǎng)其他的服務器要排除,可以用分號隔開,具體語法可以參考http://technet.microsoft.com/en-us/library/cc731131%28WS.10%29.aspx。
在客戶機上配置完Netsh Winhttp后,問題解決了。用戶可以登錄MSN,也不會和WSUS有沖突了,問題貌似圓滿解決啊!但是,但是,問題好像還留了一個小尾巴。為什么WSUS和WPAD當初會有沖突呢?難道也是類似原因導致的。在微軟網(wǎng)站找資料!找啊找,找啊找,嘿嘿,功夫不負有心人啊,真的被俺找到了。原來Winhttp代理除了可以通過Netsh Winhttp進行配置,還可以通過WPAD進行自動配置。但是,當Winhttp代理通過WPAD下載wpad.dat文件進行自動配置時,由于wpad.dat文件中沒有對wsus服務器進行排除,因此WSUS客戶端通過Winhttp代理就不會直接訪問WSUS服務器。而是需要通過TMG代理服務器去訪問WSUS服務器,這樣當然是不行的!
搞清楚道理,問題就好解決了。只要在配置WPAD時把內(nèi)網(wǎng)的WSUS服務器排除之外就OK了。 在TMG服務器上打開管理控制臺,找到“網(wǎng)絡連接”-“內(nèi)部”-“屬性”中的“Web瀏覽器”標簽,如下圖所示,把WSUS服務器hq-sus添加到直接訪問的列表中,這樣WPAD就會通知使用Web代理或Winhttp代理不要通過代理服務器訪問WSUS服務器,如果還有其他的服務器要排除,參考這種操作就可以。
排除的服務器可以通過TMG服務器上的wpad.dat文件體現(xiàn)出來,我們可以使用瀏覽器從TMG服務器上下載wpad.dat文件查看排除服務器列表。如下圖所示,我們使用記事本打開TMG服務器上的wpad.dat,可以看到WSUS服務器hq-sus已經(jīng)被排除使用代理服務器訪問了。
現(xiàn)在,通過在WPAD中設置排除服務器,WPAD可以啟用了。用戶的Winhttp代理可以通過WPAD自動獲取配置,不需要通過Netsh Winhttp進行配置,F(xiàn)在,用戶登錄MSN,訪問WSUS服務器都沒有問題了,非常和諧。從這個問題中,我們可以得出兩個結論:第一是不要迷信微軟,微軟的產(chǎn)品之間也會有兼容性問題;第二是一定要相信微軟,問題最終還是可以解決的。
熱門評論
最新評論