Clash mixed-port 和 port 有什么区别?配置与选择方法
简答:Clash mixed-port 同一端口兼容 HTTP(S) 与 SOCKS5,port 通常只接收 HTTP(S)。
定义:在 Clash 或兼容 mihomo 的配置中,port 是 HTTP(S) 代理入口,mixed-port 是同时兼容 HTTP(S) 与 SOCKS5 的混合代理入口。
先看结论:Clash mixed-port 和 port 怎么选
如果你只需要给明确支持 HTTP 或 HTTPS 代理的浏览器、系统代理或办公软件使用,port 就够了;如果不同应用的代理协议不统一,或者你不想为 HTTP 与 SOCKS5 分别填写两个端口,优先考虑 mixed-port。
需要注意,mixed-port 不是“更快的端口”,也不是远端节点端口。它只是本机接收代理请求的监听入口。mihomo 文档明确说明,混合端口同时支持 HTTP(S) 与 SOCKS5;普通 port 则是 HTTP(S) 代理端口。可查看 mihomo 入站端口文档。
| 字段 | 接收的协议 | 适合场景 | 注意事项 |
|---|---|---|---|
port | HTTP、HTTPS 代理 | 浏览器系统代理、明确要求 HTTP 代理的软件 | 不能按 SOCKS5 方式填写 |
socks-port | SOCKS4、SOCKS4A、SOCKS5 | 只支持 SOCKS 的命令行工具、开发工具或应用 | 不能按普通 HTTP 代理填写 |
mixed-port | HTTP(S)、SOCKS5 | 协议不统一、希望共用一个端口的本机应用 | 仍需确认应用支持的代理类型 |
redir-port | 透明代理重定向流量 | 特定系统级透明代理场景 | 不是浏览器手动代理端口 |
tproxy-port | 透明代理,支持 TCP 与 UDP 的相关场景 | 特定透明代理配置 | 不能直接替代 HTTP、SOCKS 或 mixed 入口 |
上表中的端口号只是字段示例,不能据此认定你的客户端一定使用相同数字。不同客户端、内核和已有配置可能采用不同端口,最终应以当前客户端界面、运行配置或日志为准。
Clash mixed-port、port、socks-port 的 YAML 示例
下面只展示最小配置片段,不包含节点、订阅链接或真实凭据。修改前先复制原配置文件;如果客户端提供配置校验功能,应先校验再重载。
只启用 HTTP(S) 代理端口
port: 7890这种写法表示由 port 提供 HTTP(S) 代理入口。浏览器或系统代理页面若要求填写 HTTP 代理,可以填写本机地址与该端口,例如地址使用 127.0.0.1,端口使用当前配置中的数字。
只启用 SOCKS5 代理端口
socks-port: 7891只支持 SOCKS5 的软件应选择 socks-port。如果软件有“代理类型”下拉框,类型要选择 SOCKS5,而不是 HTTP。
使用一个混合端口
mixed-port: 7892此时同一个监听端口可以接收 HTTP(S) 或 SOCKS5 请求,但应用端仍然要按自身支持的协议填写。例如浏览器选择 HTTP,命令行工具选择 SOCKS5;两者可以使用同一个端口,但协议选项不能填错。
同时配置多个入口
port: 7890
socks-port: 7891
mixed-port: 7892多个字段可以同时配置,但每个监听入口必须使用不同的地址与端口。不要让两个字段占用同一端口,也不要因为启用了 mixed-port 就继续把所有应用强行设置为 HTTP 或 SOCKS5。mihomo 文档将这些顶层字段归为固定代理端口;需要多个不同地址、端口或类型的入口时,还可以使用 listeners。可查看入站配置方式与 listeners 说明。
按使用场景选择 Clash 端口
选择端口时,先看应用的代理协议,再看是否需要局域网设备接入。不要先改端口数字;端口数字只有在冲突、软件要求固定端口或已有配置不兼容时才需要调整。
| 使用场景 | 先检查什么 | 建议 |
|---|---|---|
| 浏览器手动设置代理 | 浏览器支持 HTTP 还是 SOCKS | 支持 HTTP 时使用 port 或 mixed-port,类型选择 HTTP |
| 命令行工具 | 工具参数是 HTTP 代理还是 SOCKS5 代理 | 按工具参数选择 port、socks-port 或 mixed-port |
| 多个应用协议不统一 | 是否希望统一填写一个本地端口 | 可使用 mixed-port,但逐个确认应用的协议选项 |
| 手机或其他设备连接电脑 | 是否允许局域网访问、监听地址是否可达 | 除端口外,还要检查 allow-lan、bind-address、防火墙和局域网地址 |
| 系统级接管流量 | 是否实际启用了 TUN 或透明代理 | 不要把普通代理端口当成 TUN、redir-port 或 tproxy-port |
如果只是本机浏览器无法连接,先尝试当前客户端已经显示的 HTTP 或混合端口,不要同时修改 DNS、规则和 TUN。一次只改一个变量,更容易判断问题来自协议、端口还是系统代理。
如果是局域网共享,127.0.0.1 通常只代表本机回环地址,其他设备不能直接通过它访问。mihomo 文档指出,入站是否可达还取决于监听地址、系统路由和防火墙;监听到所有网卡时也会扩大暴露范围,未加密的 HTTP、SOCKS 和 Mixed 入口不应直接暴露到互联网。可查看入站可达性与监听地址说明。
port 和 mixed-port 能否同时配置?
可以同时配置,前提是监听地址与端口不冲突。例如下面的组合在字段层面是清晰的:
port: 7890
socks-port: 7891
mixed-port: 7892但“能同时配置”不等于“必须同时配置”。如果所有应用都使用 HTTP 代理,保留 port 即可;如果应用既有 HTTP 又有 SOCKS5,使用 mixed-port 可以减少本机入口数量;如果某个软件明确要求 SOCKS5,保留独立的 socks-port 也更直观。
实际运行时,客户端可能对配置文件进行覆写,或者只显示其支持的部分字段。因此,配置文件写入后应在客户端的当前配置页面确认实际生效值。若客户端启用了 API,也可以从运行配置中读取 port、socks-port、mixed-port 等字段;mihomo API 文档列出了读取运行配置的 /configs 接口。可查看 mihomo API 中的运行配置说明。
Clash 端口填错或无法连接:按这个顺序排查

- 确认客户端是否正在运行。
先打开客户端日志或状态页,确认内核已经启动。若配置加载失败,先恢复备份,再处理 YAML 缩进、重复字段或端口冲突。
- 确认实际监听字段。
检查当前运行配置到底启用了
port、socks-port还是mixed-port,不要只看旧教程或旧配置中的端口数字。若客户端有“当前配置”或“运行配置”页面,以该页面为准。 - 确认应用代理协议。
应用选择 HTTP 时,填写
port或mixed-port;应用选择 SOCKS5 时,填写socks-port或mixed-port。最常见错误是端口数字正确,但协议类型选错。 - 确认地址与端口。
本机应用通常使用
127.0.0.1。局域网设备不能填写电脑的回环地址,应使用电脑在局域网中的实际地址,并确认监听地址、allow-lan和防火墙规则允许访问。 - 排除端口占用。
如果内核日志出现 bind、listen、address already in use 等信息,说明端口可能已被其他程序占用。关闭冲突程序或为入口改用未占用的端口,然后重新加载配置。
- 确认应用是否读取系统代理。
有些命令行工具、开发工具或独立应用不会自动读取系统代理。此时需要在应用自己的网络设置中填写代理类型、地址和端口。
- 最后再检查 TUN、DNS 与规则。
普通代理端口测试通过后,仍然出现部分应用不通,才进一步检查 TUN、DNS、规则模式或应用自身的连接策略。不要把更换
port为mixed-port当成启用 TUN 的替代方案。
复测时只使用一个简单目标:先让浏览器或一个明确支持代理的应用通过本机代理访问,再逐步恢复其他设置。若修改后仍失败,回滚到备份配置,保留日志中的第一条错误信息,便于继续定位。
不要把 mixed-port 与这些字段混为一谈
external-controller:用于控制面板或 API 访问的控制接口,不是给浏览器使用的代理入口。redir-port:透明代理重定向入口,适用于特定系统和网络转发方式,不等于普通 HTTP 代理。tproxy-port:透明代理相关入口,使用条件与系统网络能力有关,不等于 SOCKS5 端口。tun:虚拟网卡和系统级流量接管配置,是否生效取决于客户端权限、系统路由和相关设置,不是修改端口数字就能启用。listeners:用于创建多个不同类型、地址和端口的入站。当你需要多个独立入口或独立路由时,再考虑它,而不是为了普通浏览器代理随意增加配置。
mihomo 官方文档将应用代理入口与透明代理、TUN 等方式分开说明:HTTP、SOCKS、Mixed 属于应用代理类型,而 Redirect、TProxy、TUN 属于透明代理或系统接管类型。入站类型对照可参考官方文档。
最小自查清单:改完配置后看这 6 项
- 配置文件能否通过客户端校验,没有 YAML 缩进或重复字段错误。
- 当前运行状态显示内核已启动,没有端口绑定失败。
- 应用填写的代理类型与
port、socks-port或mixed-port的协议范围一致。 - 本机使用时地址为本机可访问地址;局域网共享时没有误填
127.0.0.1。 - 局域网场景已单独检查
allow-lan、bind-address和防火墙,且没有把入口暴露到不必要的网络。 - 测试成功后再恢复 TUN、DNS、规则或其他高级设置,出现问题时可以按最后一次改动回滚。
一句话记忆:port 只解决 HTTP(S),socks-port 只解决 SOCKS,mixed-port 用一个入口兼容两类协议;它们都只是本机代理入口,不等于 TUN 或透明代理。
常见问题
Clash mixed-port 可以完全替代 port 吗?
在应用代理场景中,mixed-port 可以同时接收 HTTP(S) 与 SOCKS5,因此常能替代单独的 port。但它不能替代 TUN、redir-port、tproxy-port 或 external-controller;是否能用还要看客户端内核和应用支持的协议。
Clash 的 port 和 mixed-port 应该选哪个?
只使用 HTTP(S) 代理的浏览器或系统代理,选择 port 更直观;应用协议不统一、希望共用一个端口时,可以选择 mixed-port。不要仅因为端口数字不同就判断速度或稳定性有差异。
mixed-port 和 socks-port 有什么区别?
socks-port 通常只提供 SOCKS4、SOCKS4A 或 SOCKS5 入口;mixed-port 同时接受 HTTP(S) 与 SOCKS5。填写时仍要在应用中选择正确的协议类型,否则端口数字正确也可能无法连接。
为什么端口填对了,Clash 还是无法联网?
先检查内核是否启动、实际运行配置是否采用该端口,再检查应用代理类型是否选错。局域网设备还要检查 allow-lan、bind-address、防火墙和电脑局域网地址;如果应用不读取系统代理,需要在应用内部单独设置。
port、mixed-port 和 TUN 是一回事吗?
不是。port 和 mixed-port 是应用手动代理入口,TUN 是系统级虚拟网卡或流量接管方式,redir-port 与 tproxy-port 也属于透明代理相关入口。改用 mixed-port 不会自动开启 TUN。