請選擇 進入手機版 | 繼續訪問電腦版

微剋多資訊

 找回密碼
 註冊

Sign in with google

Google帳號登入

搜索

該用戶從未簽到

升級   100%

發表於 2013-1-3 10:21 | 顯示全部樓層 |閱讀模式


如果您是企業使用者,有公司的Proxy 伺服器環境,或者您是開發人員,相信您已經發現了在本機連接更換Proxy 後,所有Modern UI app都不再能存取網路。這是由於新的 Modern UI 執行時的網路隔離設計造成的。其實,我們有兩種辦法解除網路隔離的限制,讓Modern UI app在特殊時期也能上網...
在 Windows 8 中,微軟全新引入了 Modern UI 平台,帶給使用者包含動態磚和沉浸式使用者體驗的市集應用。

如果您是企業使用者,有公司的Proxy 伺服器環境,或者您是開發人員,相信您已經發現了在本機連接更換Proxy 後,所有Modern UI app都不再能存取網路。這是由於新的 Modern UI 執行時的網路隔離設計造成的。
為 了實施新的安全性策略,讓 Modern UI 平台上的應用更加安全,Modern UI app在使用某項功能時,必須事先由開發者聲明。例如要使用網路連接,就需要聲明,不僅要聲明需要網路連接,還得聲明清楚需要哪一種類型的連接方式。由於實施了網路隔離,所有的Modern UI app預設就不能使用IP回送位址進行處理序間通訊。當我們在 Internet 設定的連接設定裡,為 LAN 指定了Proxy 伺服器之後,Modern UI app 也就不能上網了,此時只有桌面版的應用程式才能通過Proxy 伺服器上網。(Modern UI 有一定的能力能夠偵測到本機網路的預設Proxy 伺服器從而使Modern UI app存取 Internet,但像手動指定了 LAN Proxy 後,它就不能自動偵測到了。)
有時候,當公司裡面的預設網路Proxy 伺服器不工作時,IT 管理員可能會要求使用者手動指定另外的 LAN Proxy 伺服器,此時,Modern UI app都不能上網了,著實鬱悶,其實,我們有兩種辦法解除網路隔離的限制,讓Modern UI app在特殊時期也能上網:

方法一:使用群組策略為網路隔離環境指定 Internet Proxy
打開本機群組策略編輯器,展開"電腦設定"-"系統管理範本"-"網路"-"網路隔離",我們可以看見如下幾個設定項目:

我們可以編輯"應用程式的網際網路Proxy 伺服器",來指定一個 Internet Proxy 。注意,這裡指定的Proxy 得與你在桌面IE選項的連接設定裡指定的LAN Proxy 一致,這樣Modern UI app才能具備存取網際網路的基礎。沒錯,這只是個基礎,因為, 僅指定這一項的話,你增加的Proxy 與系統偵測到的Proxy 是一個並集,由於自動偵測的優先,而在桌面指定了 LAN Proxy 後,自動偵測的Proxy 與手動指定的 LAN Proxy 不一致,結果還是不能上網。所以為了Modern UI app能上網,我們還需啟用"Proxy 定義權威"這一項,讓Modern UI app只使用這裡指定的Proxy 。
方法二:使用 Win8 內建的偵錯命令集為具體 App 增加網路隔離排除
Windows 8 內建了一個命令工具,是為了方便Modern UI app開發者診斷網路問題的。我們可以利用它來把某些Modern UI app增加到網路隔離排除列表:

這裡我們使用其中的 LoopbackExempt 參數即可實現我們的需求。對於這個參數,它的使用還有具體的二級參數需要指定。


程式說明說的很明確了,因此這裡不再列表贅述。這裡,我想提醒大家的是,由於 AppContainer 或者程式包的 SID 較難尋找(需要借助登錄檔),我個人建議大家使用 –n=[Name] 的方式來通過 AppContainer 或者程式包名來操作網路隔離豁免。因為獲取名稱的方式很簡單,只要你打開 %LocalAppData%Packages 路徑,下面的各個資料夾的名稱就是各個Modern UI app的名稱,可供使用,方便複製貼上。

從圖中可以看出,識別這些 App 究竟對應開始畫面裡面哪個 Modern UI App 其實並不難,因為資料夾的部分就是該程式的名稱。例如我們可以看見最後一個,"WinStore_cw5n1h2txyewy",它無疑就是"市集"這個app的內部名稱。
這裡,我們假設現在預設的Proxy 伺服器壞了,我在桌面環境設定了 LAN Proxy ,這時,我需要使用市集更新我的幾個應用程式,那麼,我就要為它增加網路隔離豁免了:執行"CheckNetIsolation.exe LoopbackExempt -a -n=WinStore_cw5n1h2txyewy",便將市集增加到豁免列表了。
要驗證豁免列表,我們使用"CheckNetIsolation.exe LoopbackExempt -s"命令即可:

要刪除某個豁免,將增加豁免的命令中的 -a 參數換為 -d 即可,要快速全部清除列表內容,執行"CheckNetIsolation.exe LoopbackExempt -c"。
比較以上兩種辦法,我個人還是建議大家使用第二種辦法。原因有兩個:
其一,群組策略方法中,無法為隔離網路指定Proxy 伺服器的Proxy 端口,所以,使用非80端口的應用可能還是不能正常工作。例如,市集在這樣設定時,只能瀏覽應用,無法更新軟件和下載軟件。
其二,使用 CheckNetIsolation 可以方便地控制和查閱豁免情況,而且,沒有什麼端口的限制,程式功能完全正常。而且,對於 IT 專業人士而言,這個可以集成到代碼中去,並且代碼可復用,可自動化控制。
而 在第二種方式裡面,建議大家使用 -n=[AppName] 的形式增加刪除豁免比使用 -p=[AppSID] 不僅要好在上面提到過的便捷性,而且,像 Store 這樣的特殊 Modern UI App,它在登錄檔的 HKCUSoftwareClassesLocal SettingSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings 下面根本就沒有對應的 SID 顯示出來。在上面通過名稱增加 Store 豁免,並且查閱豁免列表後,我們發現 Store 的 SID=S-1-15-2-2608634532-1453884237-1118350049-1925931850-670756941-1603938316-3764965493.
好了,由於篇幅有限,這裡對於網路隔離的介紹很有限,如果您想進一步瞭解網路隔離,請參考這篇文件:
http://technet.microsoft.com/zh-tw/ie/hh770532
Windows 8 還能通過 具有進階安全性的Windows 防火牆來控制這些Modern UI app的網路存取規則,關於這一塊,可以進行延伸閱讀:
http://technet.microsoft.com/en-us/library/hh831418.aspx
(整理自pcbeta)

本文亦發表於 歐塔庫部落


                                       



樓主熱門主題

該用戶從未簽到

升級   100%

 樓主| 發表於 2013-1-3 12:41 | 顯示全部樓層
z24374203 發表於 2013-1-3 12:03
感謝大大分享 這招有空紀錄下來

雖然目前沒有用到的機會

是阿 我也不解這樣鎖的用意 很是不方便........

使用道具

該用戶從未簽到

升級   15.5%

發表於 2013-1-3 21:22 | 顯示全部樓層
如果公司有鎖某些網站  例如facebook的話  這個方法是否有用

使用道具

該用戶從未簽到

升級   100%

 樓主| 發表於 2013-1-6 10:39 | 顯示全部樓層
divale 發表於 2013-1-5 22:47
總覺微軟有時設些莫名奇妙又沒有什麼太大實質作用的限制,又很快被解,只是讓使用者增加不滿而已 ...

我也這樣覺得~

使用道具

該用戶從未簽到

升級   100%

 樓主| 發表於 2013-1-6 15:19 | 顯示全部樓層
jerk1487 發表於 2013-1-6 10:58
抄起來,上班時試試看
不過圖片好小啊..看不清楚=_=

圖片大小已於部落格修正 感謝回報...

使用道具

該用戶從未簽到

升級   11.5%

發表於 2013-2-2 10:03 | 顯示全部樓層
建議上網找“How to use Proxifier for Windows 8 MetroStyle apps”TKS!

使用道具

您需要登入後才可以回帖 登入 | 註冊

本版積分規則

小黑屋|Archiver|微剋多資訊(MicroDuo)

GMT+8, 2024-3-28 16:33

Discuz! X

© 2009-2023 Microduo

快速回覆 返回頂部 返回列表