搜索 K
Appearance
如果你只想要答案,这一节就够了。以下五条是按「投入产出比」排序的处置路径,从最省事到最彻底:
127.0.0.1 代理,不是你的代理软件坏了。 这是 Windows AppContainer 沙盒的强制回环隔离策略,属于设计行为,任何客户端「开个开关就能修好」的说法都是误导。ALL APPLICATION PACKAGES 全量豁免,更不要关掉 WFP 或 Defender 网络检查。 那等于把你本机所有沙盒应用的回环后门一起打开,安全代价远大于便利。要修好一个东西,得先知道它为什么坏。UWP 应用走不了本地代理这件事,根子不在代理软件,而在 Windows 的进程隔离模型。
从 Windows 8 开始,微软引入了 AppContainer 作为 UWP 应用的运行容器。每个 UWP 进程运行时会拿到:
S-1-15-2-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxxxxx),与登录用户 SID 完全分离;internetClient、internetClientServer、privateNetworkClientServer 等),只有声明了才有对应网络能力;关键点在于第三条。WFP 的 ALE 层会在 connect() 调用真正发出 SYN 之前做一次授权判定。当 AppContainer 进程尝试连接 127.0.0.1 或 ::1 时,判定结果是拒绝,内核直接返回 WSAEACCES(错误码 10013)。
理由其实很直白:如果沙盒应用能随意连本机任意端口,那整个沙盒的隔离价值就荡然无存了。攻击者可以:
所以回环隔离不是 Bug,是安全边界。你做的每一次 LoopbackExempt 豁免,本质上都是在边界上开一个受控的洞——这就是为什么我一直建议能用 TUN 就用 TUN,能不豁免就不豁免。
很多「改了代理商店还是打不开」的困惑,源于没搞清楚 Windows 上同时存在至少三套代理配置:
| 网络栈 | 覆盖对象 | 配置命令 | 是否继承系统代理 |
|---|---|---|---|
| WinINET | 浏览器、资源管理器、大部分 Win32 桌面程序 | 设置 → 网络和 Internet → 代理 | — |
| WinHTTP | 系统服务、部分安装���、BITS 的部分路径 | netsh winhttp set proxy | 默认不继承 |
| 自研/内嵌栈 | Edge、WebView2、Electron、QQ/微信内置浏览器 | 通常读系统代理,部分读环境变量 | 视实现而定 |
而微软商店的下载走的是 BITS(后台智能传输服务),BITS 用的是 WinHTTP 通道。你在图形界面里填的 127.0.0.1:7890 只写进了 WinINET,BITS 根本不知道这回事——这就是「商店页面能开、下载进度 0%」的经典成因。
即便本机回环问题解决了,最终体验仍然由出口链路质量决定。这里简单交代几个你会在评测里频繁看到的术语:
这些参数不会直接改变 UWP 能不能连上代理,但会决定你豁免完回环之后,商店下载是 3 MB/s 还是 30 MB/s。关于线路层面的横向评测,可以参考 机场推荐总览 与 独立评测合集。
下面这张表是本篇最核心的决策依据。先看表,再看后面的分场景建议。
| 评估维度 | ① 系统代理(WinINET) | ② WinHTTP 全局代理 | ③ CheckNetIsolation 回环豁免 | ④ TUN 虚拟网卡 | ⑤ 网关侧透明代理 |
|---|---|---|---|---|---|
| UWP 应用兼容性 | 差(默认被拦) | 差(默认被拦) | 优 | 优 | 优 |
| 微软商店 BITS 下载 | 不生效 | 生效 | 视 BITS 代理配置 | 生效 | 生效 |
| 配置耗时(熟练者) | 1 分钟 | 2 分钟 | 3–8 分钟/应用 | 5–10 分钟 | 30 分钟以上 |
| 管理员权限 | 否 | 是 | 是 | 是 | 是(路由器侧) |
| DNS 泄漏风险 | 高 | 高 | 高 | 低(可劫持 DNS) | 低 |
| UDP / QUIC 转发 | 不支持 | 不支持 | 不支持 | 支持 | 支持 |
| 断线自动恢复 | 依赖客户端 | 依赖客户端 | 依赖客户端 | 依赖客户端 | 优(与终端无关) |
| 对沙盒安全边界影响 | 无 | 无 | 有(开洞) | 无 | 无 |
| 典型失败症状 | UWP 无任何连接日志 | 商店下载卡 0% | 应用更新后复现 | 虚拟网卡未 |