Windows10系统下UWP应用在使用代理时无法联网问题解决办法

  • A+
所属分类:操作系统

现象

有时需要使用网络代理,但是它开着的时候,电脑的UWP应用就无法联网,比如Windows商店和天气应用,EXE应用不受影响。关掉代理,UWP应用就可以正常联网了。

原理

所有UWP应用均运行在被称为App Container的虚拟沙箱环境中,App Container可以保证应用安全性,但同时也阻止了网络流量发送到本机(即loopback),使大部分网络抓包调试工具无法对UWP应用进行流量分析。
同样的,该机制也阻止了UWP应用访问localhost,即使你在系统设置中启用了代理,也无法令UWP应用访问本地代理服务器。
简单说,就是UWP应用的虚拟沙箱有个限制拦截了发往本机的流量。

解决办法

解决的办法就是解除这个限制
github上也有相关的issue,但解决办法并不是那么方便。issue
最简单有效的办法是下面两个脚本。有幸在一个知乎帖子的评论中找到。

脚本1

foreach ($n in (get-appxpackage).packagefamilyname) {checknetisolation loopbackexempt -a -n="$n"}

脚本2

FOR /F "tokens=11 delims=\" %p IN ('REG QUERY "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings"') DO CheckNetIsolation.exe LoopbackExempt -a -p=%p

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: