外观
Clash 的端口到底怎么填?一文搞懂 Mixed Port、HTTP 与 SOCKS5 的区别
约 3341 字大约 11 分钟
Clash代理端口Mixed PortSOCKS5
2026-09-08
很多人在 Clash 中看到 mixed-port、port、socks-port 等配置项时,往往会产生一个疑问:软件让我填写代理地址和端口,我到底该填哪一个?
更常见的情况是:Clash 已经显示运行正常,浏览器也能打开网页,但 Git 拉取代码失败、下载工具不走代理、游戏启动器无法登录,甚至某个软件一填端口就完全断网。问题未必出在节点或订阅,往往只是代理协议和端口没有对应上。
本文不讨论具体服务商或节点质量,只讲本地客户端的端口原理与通用配置方法。理解这几个概念后,遇到“某个应用不走代理”的情况,就能更快定位问题。

先理解:Clash 在电脑上做了什么
Clash 启动后,通常会在本机开启一个或多个“监听端口”。可以把它理解为电脑里的一个代理入口:应用程序把网络请求交给这个入口,Clash 再根据当前节点、规则组和分流规则决定如何处理。
一个完整的手动代理设置通常由三部分组成:
- 服务器地址:多数情况下填
127.0.0.1或localhost; - 端口号:例如
7890、7891、7897,实际数值以客户端显示或配置文件为准; - 代理类型:HTTP、HTTPS、SOCKS5,或者软件中显示的 SOCKS。
其中最容易出错的是后两项。端口号即使填对了,如果代理类型选错,应用也可能无法连接。
需要注意,网上常见的 7890、7891 并不是固定标准,只是一些配置的常用示例。不同 Clash 客户端、不同配置文件或不同设备上的端口都可能不同。不要只照搬教程中的数字,应先以自己 Clash 当前的设置页面为准。
HTTP 代理、SOCKS5 与 Mixed Port 分别是什么
HTTP 代理:适合浏览器和部分传统应用
HTTP 代理主要面向 HTTP/HTTPS 请求。浏览器、部分下载器、系统代理设置、一些桌面软件通常支持这一类型。
如果某个软件的设置界面明确要求填写“HTTP Proxy”,那么应当:
- 主机填写
127.0.0.1; - 端口填写 Clash 的 HTTP 端口;
- 代理类型选择 HTTP。
在一些配置中,HTTP 端口对应 port 字段。例如:
port: 7890这表示 Clash 在本地 7890 端口提供 HTTP 代理服务。它不代表所有应用都该使用这个端口,更不代表 SOCKS5 软件也能直接填进去。
SOCKS5 代理:兼容性更广,常用于开发与工具软件
SOCKS5 是更通用的代理协议。它不只面向网页请求,也可以代理更多类型的网络连接。因此,Git、终端工具、部分下载器、游戏工具、媒体播放器和开发软件常会提供 SOCKS5 设置项。
如果应用要求的是 SOCKS5,就需要填写 Clash 的 SOCKS 端口。例如:
socks-port: 7891那么该软件应使用:
SOCKS5 Host: 127.0.0.1
SOCKS5 Port: 7891一个典型错误是:软件要求 SOCKS5,却把 HTTP 端口填进去;或者软件只支持 HTTP,却填了 SOCKS 端口。表面上端口都属于 Clash,本质上双方“说的语言”不同,自然无法正常通信。
Mixed Port:一个端口同时兼容 HTTP 和 SOCKS5
mixed-port 可以理解为“混合端口”。当 Clash 开启它后,同一个端口通常能同时处理 HTTP 代理与 SOCKS5 代理请求。
例如:
mixed-port: 7897此时,支持 HTTP 的软件可以设置为 HTTP 代理 127.0.0.1:7897;支持 SOCKS5 的软件也可以设置为 SOCKS5 代理 127.0.0.1:7897。

对于普通用户来说,Mixed Port 的优点很明显:不用反复记忆两个端口,也能降低“端口填对、协议选错”的概率。尤其在需要给多个独立软件设置代理时,一个统一的混合端口更方便管理。
但这里有一个前提:你的 Clash 客户端和当前核心确实启用了 Mixed Port。 有些客户端界面只显示 HTTP 与 SOCKS 端口,有些配置则根本没有开启混合端口。看不到就不要强行填写,仍应按实际显示的端口分别配置。
最常见的三种使用方式
方式一:只让系统代理接管浏览器和常规软件
这是最省事的方式。许多 Clash 图形客户端都有“系统代理”开关,打开后,Windows 或 macOS 会把支持系统代理的应用流量交给 Clash。
一般而言,现代浏览器和不少桌面应用会遵循系统代理设置。此时用户通常不需要在浏览器里单独填写端口。
不过,系统代理并不等于“全电脑所有流量都被接管”。以下软件或场景可能不会遵循系统代理:
- 部分游戏和游戏启动器;
- 命令行程序;
- Docker、虚拟机或子系统中的程序;
- 某些使用自建网络模块的软件;
- 局域网设备上的应用;
- 只识别 SOCKS5 的专业工具。
所以,当网页能打开、某个特定程序却不可用时,先不要急着切换节点,应先确认它是否支持系统代理。
方式二:在单个软件中手动填写代理
这是最可控的方式。假设某软件提供下列选项:
代理类型:HTTP / SOCKS5
地址:
端口:配置时遵循一条简单原则:
软件选择 HTTP,就填 Clash 的 HTTP 端口或 Mixed Port;软件选择 SOCKS5,就填 SOCKS 端口或 Mixed Port。
地址通常填 127.0.0.1。它表示“本机”,即该软件把请求交给同一台电脑上运行的 Clash。
不要随意将 127.0.0.1 改成节点域名、订阅地址或路由器公网地址。应用程序此处需要连接的是本地 Clash 监听入口,而不是远端服务器。
方式三:使用 TUN 模式接管更多流量
如果目标应用不支持代理设置,也完全不理会系统代理,才需要考虑 TUN 模式。TUN 会创建虚拟网络接口,让更多网络流量进入 Clash 的处理范围。
但 TUN 并不是“打开后一定更好”。它涉及路由、权限、DNS、虚拟网卡以及与安全软件的兼容性,排障复杂度会高于系统代理。对于仅需浏览网页、使用少量软件的用户,优先使用系统代理或单软件手动代理,通常更容易维护。
如果你已经开启 TUN,又给软件手动设置了 127.0.0.1 代理,某些环境下可能造成重复代理、规则判断混乱或连接异常。出现问题时,可以先只保留一种接管方式测试:要么使用 TUN,要么关闭 TUN 后在应用里手动填代理。
Windows 和 macOS 中怎样确认端口
不同客户端的入口名称略有不同,但通常可以在以下位置找到:
- 设置中的“端口”“代理端口”“监听端口”;
- 配置文件中的
port、socks-port、mixed-port; - 状态页、日志页或服务信息页;
- Clash 的外部控制面板中。
确认时建议记录四项信息:
| 项目 | 示例 | 用途 |
|---|---|---|
| HTTP 地址 | 127.0.0.1 | HTTP 软件连接本机 Clash |
| HTTP 端口 | 7890 | 给 HTTP 代理使用 |
| SOCKS5 地址 | 127.0.0.1 | SOCKS 软件连接本机 Clash |
| SOCKS5 或 Mixed 端口 | 7891 或 7897 | 给 SOCKS5 或混合代理使用 |
如果客户端提供“随机端口”或你曾导入过自定义配置,端口号可能在重启、切换配置后发生变化。某个软件以前能用、后来突然连不上时,也要检查 Clash 的端口是否已经改变。

软件填完端口仍不可用:按这个顺序排查
1. 确认 Clash 本身正在运行
先确认客户端不是仅打开了窗口,而是真正处于运行状态。检查当前配置是否已加载、节点或策略组是否可用、系统代理或服务开关是否开启。
如果 Clash 根本没有运行,127.0.0.1:端口 上就没有服务在等待连接,其他软件自然会报连接失败。
2. 核对“协议类型”和“端口”是否匹配
这是最值得优先检查的一步:
- HTTP 软件:HTTP 端口或 Mixed Port;
- SOCKS5 软件:SOCKS 端口或 Mixed Port;
- 使用 Mixed Port 时,软件端仍要选择它实际支持的 HTTP 或 SOCKS5 类型。
不要把“Mixed Port”当成软件设置里的代理类型。它是 Clash 端的监听方式,不是客户端软件里的协议名称。
3. 确认地址填的是本机地址
在同一台电脑上运行的软件,优先填写:
127.0.0.1部分软件可接受 localhost,但为减少 IPv4、IPv6 解析差异,排障阶段更建议使用 127.0.0.1。
如果软件运行在虚拟机、容器、WSL 或另一台局域网设备中,127.0.0.1 指向的是那个独立环境自身,不再是宿主机。此时需要额外处理网络连通与监听地址问题,不能简单照搬本机设置。
4. 查看规则是否让目标域名直连了
代理端口连通,只说明请求成功进入 Clash,不代表一定会经过代理节点。Clash 后续仍会根据规则决定 DIRECT、REJECT 或某个代理组。
若一个软件能连上本地端口但访问目标失败,可以查看 Clash 日志,重点观察:
- 请求目标域名或 IP 是什么;
- 命中了哪一条规则;
- 最终走了 DIRECT、REJECT 还是代理组;
- 代理组当前选择了哪个节点。
这样能区分“端口配置错误”和“分流规则不符合预期”两类问题。
5. 暂时关闭其他代理工具
电脑上若同时运行多个代理客户端、浏览器代理扩展、加速器、抓包工具或安全软件,可能出现端口占用、重复设置系统代理、网络驱动冲突等问题。
排查时可暂时保留一个 Clash 客户端,关闭其他可能改写网络设置的软件,再重新启动目标应用。特别是当系统代理不断自动变化、端口提示被占用、开关无法保存时,这一步很重要。
关于局域网共享:不要随意开放本地端口
有些用户希望手机、电视或另一台电脑使用当前电脑上的 Clash,于是会开启“允许局域网连接”,再把代理地址改为电脑的局域网 IP。这种做法确实能让其他设备访问本机代理端口,但也意味着局域网内能访问该端口的设备范围扩大了。
如果确实有共享需求,应注意:
- 只在可信家庭或个人网络中开启;
- 不要在公共 Wi-Fi 环境长期开放;
- 确认系统防火墙规则是否符合预期;
- 不使用时关闭“允许局域网连接”;
- 不要把控制面板端口、密钥或配置文件暴露给不可信设备。
尤其要区分“代理端口”和“外部控制端口”:前者用于转发应用网络请求,后者可能具有读取或修改 Clash 配置的能力,安全级别完全不同。
一份可以长期保存的速查表
当软件要求你填写代理时,可以直接按下面判断:
| 软件界面写法 | Clash 中应使用的端口 |
|---|---|
| HTTP Proxy | port 或 mixed-port |
| HTTPS Proxy | 通常使用 HTTP 代理端口或 mixed-port |
| SOCKS / SOCKS5 Proxy | socks-port 或 mixed-port |
| 自动使用系统代理 | 打开 Clash 的系统代理即可,通常无需手填 |
| 软件没有代理选项 | 先确认它是否遵循系统代理;否则再评估 TUN 模式 |
最后再强调一次:代理设置没有“万能端口”。正确答案取决于 Clash 当前实际开放了什么端口,以及目标软件支持什么协议。与其死记某个常见数字,不如养成两个习惯:先看客户端的端口设置,再让软件协议与端口一一对应。
掌握这个逻辑后,浏览器、Git、下载工具或其他独立软件出现联网问题时,就能先从本地代理入口开始排查,避免一上来就反复更换配置、切换节点或重装客户端。



