Clash 的 7890、7891、9090 端口分别有什么用?新手别乱改

很多新手第一次打开 Clash 配置文件时,都会看到类似 7890、7891、9090 这样的数字。它们看起来只是普通端口号,但实际上对应着不同功能:有的用于接收应用代理请求,有的用于 SOCKS5 代理,有的用于控制面板或外部控制接口。Clash 配置参考中也常见 port: 7890、socks-port: 7891、external-controller: 127.0.0.1:9090 这类写法。

对新手来说,最重要的不是马上修改这些端口,而是先理解它们分别负责什么。端口一旦改错,可能导致客户端正常运行,但浏览器、系统代理或控制面板无法连接。

一、先理解端口是什么

端口可以理解为电脑上的“服务入口”。同一台设备上可能同时运行很多网络服务,每个服务通过不同端口接收请求。Clash 在本机运行时,也会打开一些本地端口,让浏览器、系统代理、其他应用或管理面板连接它。

比如浏览器想把网络请求交给 Clash,就需要知道 Clash 在本机哪个端口等待请求。如果客户端配置是 7890,但系统代理却指向了其他端口,请求就无法正确进入 Clash。

所以,端口不是随便填的数字,它必须和客户端配置、系统代理设置、应用代理设置保持一致。

二、7890:常见 HTTP 或混合代理端口

在很多 Clash 配置中,7890 常被用作 HTTP 代理端口,也可能被设置成 mixed-port,也就是 HTTP 和 SOCKS 共用端口。Clash 参考配置中写到,port: 7890 通常对应 HTTP(S) 代理服务端口,而 mixed-port 则可以让 HTTP(S) 和 SOCKS4(A)/SOCKS5 共用一个端口。

通俗理解,7890 是很多应用把请求交给 Clash 的主要入口。开启系统代理后,浏览器或支持系统代理的软件,通常会把请求发送到这个端口,再由 Clash 根据规则决定直连、代理或拒绝。

新手不要轻易修改 7890。因为很多客户端、浏览器代理插件、系统代理设置,可能默认都以这个端口为入口。如果只改了配置文件里的端口,却没有同步修改系统代理,就会出现“客户端已开启,但网页打不开”或“软件没有走 Clash”的情况。

三、7891:常见 SOCKS5 代理端口

7891 通常用于 SOCKS5 代理。Clash 参考配置中,socks-port: 7891 对应 SOCKS5 代理服务端口。

HTTP 代理和 SOCKS5 代理都可以作为本地代理入口,但适用场景略有不同。很多普通浏览器和系统代理使用 HTTP 代理即可;一些开发工具、下载工具、浏览器插件或特定软件,可能更习惯填写 SOCKS5 代理地址。

例如,某个软件不读取系统代理,但允许用户手动填写 SOCKS5 代理时,通常就可能用到 127.0.0.1:7891 这类本地地址。这里的 127.0.0.1 表示本机,7891 表示 Clash 的 SOCKS5 入口。

新手需要注意,7891 不是“更快端口”,也不是“备用节点”。它只是另一种代理入口。如果你的应用使用的是 HTTP 代理,就不要随便填 SOCKS5 端口;如果应用要求 SOCKS5,就不要填 HTTP 端口。协议和端口不匹配,也可能导致连接失败。

四、9090:常见控制端口

9090 通常不是给浏览器走代理用的,而是用于外部控制接口。很多配置里会出现 external-controller: 127.0.0.1:9090,意思是让控制接口监听在本机 9090 端口。Clash 示例配置中也常见外部控制接口使用 9090。

控制端口可以理解为“管理入口”。一些 GUI 客户端、控制面板或仪表盘,需要通过这个接口读取 Clash 当前状态,例如节点列表、规则匹配、连接记录、流量信息等。它和 7890、7891 的用途不同:7890、7891 面向网络请求,9090 更偏向管理和控制。

因此,不要把 9090 填到浏览器代理设置里,也不要把 7890 当作控制面板端口。端口用途混淆,是新手常见错误之一。

还要注意,控制端口不建议随意暴露到公网或不可信局域网。如果配置中把控制接口绑定到 0.0.0.0:9090,就意味着可能允许其他设备访问该管理入口。普通用户如果没有明确需求,通常更建议绑定到 127.0.0.1,也就是仅本机访问。

五、什么是端口冲突?

端口冲突指的是同一个端口已经被其他程序占用,Clash 无法正常监听。比如另一个代理工具、抓包软件、开发服务或旧版 Clash 进程已经占用了 7890,那么新的 Clash 客户端就可能启动失败,或日志里出现类似 port already in use、bind failed 的提示。

端口冲突的表现可能包括:客户端显示运行异常、系统代理开启后网页无法访问、日志报错、控制面板无法连接、节点列表加载不出来等。

遇到这种情况,不要马上乱改所有端口。先关闭其他同类代理工具,确认是否有重复运行的客户端;再重启 Clash 看是否恢复。如果确实需要同时运行多个网络工具,才考虑为其中一个工具更换端口。

六、什么时候才需要修改端口?

一般情况下,新手不需要修改 7890、7891、9090。默认配置能正常运行,就保持默认即可。

需要修改端口的常见情况主要有三种。第一,端口被其他程序占用,Clash 无法启动。第二,你需要同时运行多个代理或测试环境,必须让它们使用不同端口。第三,某些应用已经固定填写了某个端口,而你希望让 Clash 配合它工作。

修改端口时,一定要同步检查相关设置。改了 HTTP 代理端口,就要同步修改系统代理或应用代理;改了 SOCKS5 端口,就要同步修改使用 SOCKS5 的软件;改了 9090 控制端口,就要确认 GUI 或面板是否也改成新的控制地址。

只改一处、不改其他地方,是端口修改后最常见的故障来源。

七、修改端口前如何备份配置?

修改端口前,建议先备份配置文件。Clash 配置通常是 YAML 格式,对缩进和字段非常敏感。即使只是改一个数字,也可能因为误删冒号、空格错位,导致整个配置无法加载。

最简单的备份方式是复制当前配置文件,另存为一个带日期的版本,例如 config-backup-2026-05-09.yaml。如果你使用的是 GUI 客户端,也可以在配置管理页面复制一份当前配置,或先截图记录原来的端口设置。

如果配置来自订阅,还要注意手动修改可能会被下次订阅更新覆盖。此时更稳妥的方式,是使用客户端提供的覆写功能,或在本地单独保存修改后的配置。不要直接在唯一可用配置上反复试错。

八、新手应该怎么理解 Clash 端口?

可以把 7890、7891、9090 简单记成三类入口:7890 常用于 HTTP 或混合代理请求,7891 常用于 SOCKS5 代理请求,9090 常用于控制和管理接口。它们分工不同,不要互相替代。

如果你想进一步理解 Clash 端口的设置逻辑,可以重点关注“应用请求进哪个端口”“客户端监听哪个端口”“系统代理指向哪个端口”这三件事。只要这三者一致,大多数端口相关问题都能避免。

对新手来说,端口不是优化速度的开关,也不是越改越好。默认能用就不要乱动;确实遇到冲突时,再按顺序备份配置、确认占用、修改对应端口,并同步更新系统代理或控制面板设置。这样既能减少故障,也方便出问题时快速恢复。