358 字
2 分钟
关于 UWP 和系统代理
为什么不能用
UWP 应用无法走系统代理实际上是个历史传承问题,在 Win8 的时候微软加入了一个机制叫网络隔离(network isolation),问就是为了安全,这个机制让应用非但不能走系统代理,还不能获取 localhost 上的服务。
所以偶尔会看到群友说,诶?我用了“相关软件”,怎么我的 Edge 还是不能访问一些网站啊?那是因为 Edge 也是 UWP 应用,也得遵守这项机制。
解决方案
有两个解决办法,第一个很简单,在你设备之上的网关那启用“相关软件”,这样你设备上不需要变动,发出的数据包自然会走到他该走的地方。
第二个稍微麻烦一点,先 Win + R
打开 regedit
注册表编辑器,然后进入 HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings
项,一项一项翻。
找到 Edge(或者其他要“修复”的 UWP 应用),把“目录名称”拷贝下来,如:S-1-15-2-1310292540-1029022339-4008023048-2190398717-53961996-4257829345-603366646
。
然后用管理员权限打开 CMD,输入:
CheckNetIsolation.exe loopbackexempt -a -p=<拷贝的内容>
给指定的应用加入豁免。
额外方案
那么方法 2 那么麻烦,有没有一键的方式解决呢?那铁是有的,下一个 Windows-Loopback-Exemption-Manager 类似的工具,打开,把需要“修复”的应用打上勾就完事了。