电子

Clash Verge 开启系统代理后,微软服务全部失败

eRui
2026年10月29日 · 18 · 5 分钟阅读

Clash Verge 开启系统代理后,微软服务全部失败

一句话结论

不是微软的服务被墙了,是电脑上 UWP / 系统组件连不上 127.0.0.1 的本地代理。

解法 30 秒:Clash Verge Rev → 设置 → UWP 工具 → 全选 → 保存。


是不是遇到了这些

开启 Clash Verge 的「系统代理」之后:

  • Microsoft Edge 登录账号一直转圈,或者显示已登录但数据不同步
  • Edge 同步卡死,edge://sync-internals 里 Transport State 长期停在 Initializing
  • VSCode 的 Settings Sync 登录失败
  • Microsoft Store 打不开 / 无法下载应用
  • Office 激活、OneDrive、Xbox 应用登录异常
  • 关掉系统代理,以上全部恢复正常

最后一条是关键判据。只要”关代理就好、开代理就坏”,基本就是本文说的问题,不用再去折腾规则、DNS、hosts 了。


解决办法

方法一:Clash Verge 图形界面(推荐)

Clash Verge Rev → 设置 → UWP 工具 → 全选 → 保存

“UWP 工具”会列出系统上所有 UWP 应用和 AppContainer 组件,全选保存即把它们批量加入 Windows 的环回(loopback)豁免列表。

改完之后完全退出 Edge 再重新打开(或重启出问题的那个软件),不需要重启电脑。

注意:一定要”完全退出”。Edge 默认开了「启动增强」和「后台继续运行」,关窗口不会真正退出进程,可以在任务管理器里确认 msedge.exe 已清零。

方法二:命令行(不用 Clash Verge 也适用)

以普通用户权限打开 PowerShell:

## 批量豁免所有 UWP 应用
Get-AppxPackage | ForEach-Object {
    CheckNetIsolation.exe LoopbackExempt -a -n="$($_.PackageFamilyName)"
}

CheckNetIsolation.exe 是 Windows 自带的工具,常用参数:

CheckNetIsolation.exe LoopbackExempt -s                 ## 查看当前豁免列表
CheckNetIsolation.exe LoopbackExempt -a -n=<包名>       ## 添加豁免
CheckNetIsolation.exe LoopbackExempt -d -n=<包名>       ## 删除豁免
CheckNetIsolation.exe LoopbackExempt -c                 ## 清空豁免列表

方法三:开 TUN 模式

Clash Verge 的 TUN 模式在虚拟网卡层接管流量,不经过 127.0.0.1,天然绕开环回隔离问题。

代价是它会接管系统全部流量、并且默认劫持 DNS,对排障和某些局域网场景不太友好。如果只为了解决微软服务登录,方法一更轻量。


原理:为什么开了代理反而连不上

三层因果,缺一不可:

第一层:系统代理的工作方式。 开启系统代理后,Windows 在注册表里写入 ProxyServer = 127.0.0.1:7897。支持系统代理的程序会把流量先发给本机的 Clash,由 Clash 决定走代理还是直连。

第二层:Windows 对 UWP 应用有网络隔离。 出于安全考虑,Windows 默认禁止 AppContainer(UWP 应用和系统组件的运行沙箱)访问回环地址 127.0.0.1。这是设计行为,不是 bug。

第三层:两者撞在一起。 Edge 的账户/同步相关组件、Microsoft Store、VSCode 的部分系统级请求都跑在 AppContainer 里。它们拿到系统代理设置后,尝试连接 127.0.0.1:7897,连接请求被 Windows 直接拦下——根本到不了 Clash。

于是表现为:这些程序”知道要代理,但代理连不上”,所有对外请求静默失败。

最典型的判别信号

在 Edge 打开 edge://sync-internals,如果是这个问题,会看到:

Server Connection      not attempted
HTTP Response Code     n/a
Net Error Code         n/a
MSA Account Key        Download Key Result: Fail

注意是 n/a 而不是 4xx / 5xx。n/a 意味着请求压根没发出去过。如果是网络不通或代理拒绝,这里会显示超时或者具体的错误码,而不是空值。

看到 not attempted + n/a 这个组合,就可以直接锁定是环回隔离,不用再做网络排查。


影响范围

会中招的不只是 Edge。凡是依赖 AppContainer 组件联网的程序都可能受影响:

程序 / 服务 典型症状
Microsoft Edge 账号同步卡 Initializing
VSCode Settings Sync 登录失败
Microsoft Store 打不开、无法下载更新
Office 激活失败、登录不了
OneDrive 无法登录同步
Xbox 应用 登录异常
Windows 激活 / 更新 联网校验失败

反过来,普通的 Win32 程序(Chrome、Firefox、curl、Python 等)完全不受影响——这也正是这个问题难排查的原因:用浏览器测一切正常,只有微软系的东西坏掉,很容易误判成”微软域名被墙了”。


验证有没有修好

1. 看豁免列表条目数

CheckNetIsolation.exe LoopbackExempt -s

修复前通常只有个位数(系统自带的几个),修复后应该有一两百条。我这边修复完是 130 条。

2. 看 Edge 同步状态

打开 edge://sync-internals,确认这三项:

  • Transport State → Active(不再是 Initializing)
  • Server Connection → 不再是 not attempted
  • 页面底部 Type Info 表格里,各数据类型的 Total Entries 不再是 0

排错时我踩过的坑

1. 别用普通程序测连通性来判断。 我一开始用 Python 测 https://edge.microsoft.com/sync/v1/feeds/me/syncEntities,直连 208ms 返回 401,就断定”网络没问题”。但 Python 是普通 Win32 进程,不受 AppContainer 环回隔离约束——它能连,不代表 Edge 能连。要测就得在出问题那个程序里测。

2. 别急着改 Clash 规则或换 DNS。 我先后怀疑过分流规则、fake-ip DNS、hosts 屏蔽,加了直连规则、对比了多个 DNS,全都无效。因为问题不在”流量怎么出去”,而在”流量根本没出门”。

3. Edge 的「上次同步时间」会一直更新,不代表同步正常。 Preferences 里的 last_synced_time 每次心跳轮询都会刷新,看起来像在同步。判断同步是否真在工作,唯一权威指标是 edge://sync-internals 的 Transport State。

4. 关掉「启动增强」只能治标。 关掉 Edge 的启动增强和后台运行、杀干净进程重启,有时能让同步状态重置一下——但如果环回隔离没解除,重启完又会卡回去,看起来就是”总是修不好”。


附:Edge 同步实际用的地址

如果需要针对性放行,Edge 同步的真实端点是:

https://edge.microsoft.com/sync/v1/feeds/me/syncEntities

(可以在 edge://sync-internals 的 Server URL 一栏看到)

相关域名,供写规则参考:

edge.microsoft.com
login.microsoftonline.com
login.live.com
syncservice.o365syncservice.com
msauth.net

不过既然根因是环回隔离,用 UWP 工具解除限制后通常不需要再单独配这些规则。


一句话总结

Windows 不让 UWP 应用连 127.0.0.1,而本地代理恰好就在 127.0.0.1。 在 Clash Verge 里「设置 → UWP 工具 → 全选 → 保存」,把 UWP 应用加进环回豁免列表,让它们能碰到本机代理,一切就通了。

实测环境:Windows 11 / Clash Verge Rev / Microsoft Edge 156。

eRui

评论 (0)

还没有评论,来说两句吧!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注