在 Windows 上使用 Clash Verge Rev 时,系统代理开关解决的是「让本机应用通过 Clash 出网」,而外部控制器解决的是「让浏览器或其他管理工具通过 HTTP API 读取并控制 Clash」。很多用户已经成功导入订阅,却在 Web 面板中看到连接失败、401 未授权,或者根本找不到外部控制器的入口。原因通常不是节点故障,而是控制器地址、监听端口、密钥和访问范围没有对应起来。本文以 Windows 版 Clash Verge Rev 为例,从界面路径、参数填写、连接测试到局域网安全设置,完整梳理一套可以重复执行的配置流程。

开始前需要区分两个容易混淆的端口:mixed-port 是给浏览器、终端和其他应用使用的代理端口,常见形式是 127.0.0.1:7890external-controller 是给 Web 面板或管理程序调用的 API 端口,常见形式是 127.0.0.1:9090。前者负责转发网络流量,后者负责管理内核状态。把 7890 填到外部控制器地址,或把 9090 当成浏览器代理端口,都会导致测试结果异常。

外部控制器是什么:代理端口和 API 端口的区别

外部控制器可以理解为 Clash 内核开放的一组本地 HTTP API。它能够返回当前配置、代理组、节点延迟、连接记录和运行状态,也可以在权限允许的情况下切换策略组、关闭连接或更新配置。Web 面板只是这些 API 的可视化客户端,因此面板本身并不一定与 Clash 内核运行在同一个进程里。

Clash Verge Rev 的主界面通常已经集成了配置、代理、连接和日志页面,所以普通使用者不必额外配置外部控制器。但当你想使用独立的 Mihomo Dashboard、远程管理页面、脚本监控工具,或在另一台局域网设备查看代理状态时,就需要确认控制器是否已开启。管理工具连接时至少要知道以下四项信息:

  • 控制器主机:只在本机使用时通常填写 127.0.0.1localhost
  • 控制器端口:例如 9090,必须与 Clash 当前内核配置中的端口一致。
  • API 密钥:如果配置了 secret,面板必须填写完全相同的字符串。
  • 协议与路径:通常是 http://,不要在地址后随意添加多余路径或斜杠。
先记住一个判断方法:浏览器能否打开网页,只能说明浏览器使用的代理端口有效;不能证明外部控制器 API 已经开启。排查面板时,应单独检查控制器地址、端口和密钥。

Windows 中开启外部控制器的操作路径

先启动 Clash Verge Rev,并确认当前使用的是一个已经载入的配置文件。不同版本的界面文字可能略有差异,但入口一般集中在设置、内核设置、配置编辑或当前配置的高级选项中。建议先完成一次内核启动,再进行编辑,因为部分选项只有在配置被实际载入后才会生效。

  1. 打开 Clash Verge Rev。在 Windows 开始菜单或任务栏托盘中启动程序,等待主窗口加载完成。
  2. 确认内核类型。在设置或内核页面查看当前使用的是 Mihomo、Clash Meta 或其他兼容内核。外部控制器字段名称可能显示为 external-controllerExternal Controller 或「外部控制器」。
  3. 进入当前配置的编辑页面。如果软件提供「编辑配置」「打开配置文件」或 YAML 编辑入口,请打开当前正在运行的那一份配置,而不是只修改下载目录中的备用文件。
  4. 写入控制器地址。本机管理建议使用 127.0.0.1:9090。配置文件中常见写法如下:
external-controller: 127.0.0.1:9090
secret: your-strong-secret

其中 9090 只是示例端口,不是固定要求。保存后返回 Clash Verge Rev,执行重新载入配置或重启内核。若软件的图形设置页直接提供输入框,优先使用界面保存,避免 YAML 缩进错误;若必须手动编辑,则注意字段顶格书写,冒号后保留空格,密钥中包含特殊字符时不要额外添加引号,除非当前 YAML 解析器明确要求。

如果配置由订阅自动生成,直接修改原始订阅文件可能在下一次更新时被覆盖。更稳妥的方式是使用 Clash Verge Rev 的配置覆写、Merge 或局部配置功能,把外部控制器相关字段放在不会被订阅刷新删除的位置。不同版本的覆写入口可能位于「配置」页面的菜单按钮中;如果你无法确认某个文件是否会被覆盖,可以在修改前记下原始内容,更新订阅后重新检查字段是否仍然存在。

主机、端口与 secret 应该怎样填写

外部控制器的地址填写原则取决于管理者和 Clash 是否在同一台电脑上。仅在 Windows 本机使用时,推荐使用 127.0.0.1,它只绑定本机回环接口,其他局域网设备无法直接访问。localhost 通常也能工作,但在少数环境中可能优先解析到 IPv6 地址,造成某些旧面板连接失败,因此排障时使用明确的 IPv4 回环地址更容易判断。

使用场景 控制器地址示例 安全建议
本机 Web 面板 127.0.0.1:9090 仅本机访问,优先选择
同一局域网访问 0.0.0.0:9090 必须设置强密钥并限制防火墙范围
指定网卡监听 192.168.1.20:9090 只绑定 Windows 当前局域网地址

secret相当于控制器 API 的访问令牌。没有密钥时,部分面板可以直接连接,但这并不适合长期使用,尤其是你把控制器绑定到局域网地址之后。建议使用长度较长、难以猜测的随机字符串,不要使用 Windows 用户名、生日、Wi-Fi 名称或简单的 123456。输入面板时只填写密钥本身,不要把 secret:、引号或前后空格一起复制进去。

还要注意「控制器地址」和「面板访问地址」不是一回事。你可能在浏览器中打开一个远程 Dashboard 页面,再在页面设置中填写 http://127.0.0.1:9090。此时 127.0.0.1 指向的是打开浏览器的那台电脑,而不是部署 Dashboard 的服务器。如果 Clash Verge Rev 和浏览器不在同一台 Windows 设备上,就必须填写运行 Clash 的那台电脑的局域网 IP,并确保网络允许访问该端口。

连接 Web 面板:从 401、拒绝连接到跨域问题

完成配置后,打开你使用的 Web 控制面板,在连接设置中选择 Mihomo 或 Clash API 兼容模式,填写控制器 URL,例如 http://127.0.0.1:9090,再填写与配置文件完全一致的 secret。保存后,先观察面板能否读取版本、配置文件名和代理组。如果这些基础信息能够显示,说明地址、端口和认证大体正确,后续的节点测速或连接列表问题应另行排查。

常见错误可以按返回结果分类。出现 Connection refused 或「无法连接」时,通常代表端口没有监听、内核尚未启动、端口被其他程序占用,或者你填写了错误的 IP。出现 401 Unauthorized 时,优先检查 secret 是否多了空格、大小写是否一致,以及面板是否把旧密钥缓存在浏览器本地。出现 404 Not Found 时,可能是面板请求了不兼容的 API 路径,或者控制器地址后面添加了错误的路径。出现浏览器跨域提示时,则要检查 Dashboard 的来源是否被控制器允许。

Windows 可以使用 PowerShell 检查端口是否正在监听:

Get-NetTCPConnection -LocalPort 9090 -State Listen
Test-NetConnection 127.0.0.1 -Port 9090

如果第一条命令没有返回结果,说明当前没有进程监听 9090;如果第二条命令中的 TcpTestSucceededFalse,就不要继续修改面板参数,应回到 Clash Verge Rev 检查配置是否载入以及内核是否启动。也可以在「资源监视器」的网络页面查看监听端口,确认占用端口的程序是否确实属于 Clash 或 Mihomo。

排障顺序:先确认内核运行,再确认端口监听,然后测试 TCP 连接,最后处理 secret、API 兼容性和跨域。不要一看到面板空白就立刻更换订阅或节点,这些操作通常无法修复控制器认证问题。

局域网访问、Windows 防火墙与端口冲突处理

如果你只想在本机管理,建议坚持使用 127.0.0.1,不必为了方便把控制器开放到所有网卡。只有在手机、另一台电脑或局域网服务器确实需要管理 Clash 时,才考虑将监听地址改为 0.0.0.0:9090 或 Windows 局域网 IP。开放后,控制器 API 可能允许切换代理、读取连接信息甚至修改运行状态,因此它不应被直接暴露到公网,也不建议通过路由器做端口转发。

局域网模式至少做好三件事。第一,设置高强度 secret,并在面板中使用 http://Windows局域网IP:9090 连接。第二,在 Windows Defender 防火墙中只允许专用网络访问该端口,不要对公用网络开放;公共 Wi-Fi、酒店网络和校园网络都不适合暴露控制器。第三,尽量在路由器或防火墙中限制来源 IP,只允许自己的手机或管理电脑访问。若 Dashboard 支持 HTTPS 反向代理,也应使用认证和加密通道,避免 secret 在不可信网络中明文传输。

端口冲突是 Windows 上很常见的另一类问题。9090 可能已经被开发服务器、Docker、其他代理客户端或远程管理工具占用。遇到冲突时,可以将控制器端口改为 9091、9095 等未使用端口,但修改后必须同时更新 Web 面板里的 URL。不要修改了 Clash 配置却继续测试旧地址。若 mixed-port 与 external-controller 意外使用同一个端口,内核可能启动失败,或者代理请求与 API 请求相互干扰;二者应始终分开。

完成设置后,建议做一次小型验收:重启 Clash Verge Rev,确认控制器仍能监听;关闭并重新打开 Web 面板,确认 secret 不依赖临时缓存;更新一次订阅,确认覆写字段没有消失;最后从 Windows 本机和需要访问的局域网设备分别测试。若本机正常、局域网失败,重点检查监听地址、防火墙配置和网络隔离;若两边都失败,重点回到内核配置、端口占用和 YAML 格式。

与一些只提供固定本地端口、缺少日志和密钥管理的轻量代理工具相比,Clash Verge Rev 的外部控制器更适合需要可视化面板、代理组切换、连接记录和脚本化管理的 Windows 用户;当然,开放局域网控制器也会增加暴露面,不能把方便管理误当成默认安全。只要坚持本机优先、强密钥、分离代理端口与 API 端口,并用 PowerShell 和连接面板逐项核对,整个配置过程就能保持可控。如果你还没有安装适用于 Windows 的 Clash 客户端,可以从官方入口获取对应版本,再按本文步骤设置。

立即免费下载 Clash,开启流畅上网新体验 →