主题
2026 年代理错误代码大全:科学上网常见报错一站式排查手册
发布时间:2026年7月11日
用代理工具遇到报错是家常便饭——节点变红、连不上网、TLS 握手失败、端口被占用……问题五花八门,但大部分错误都有规律可循。
这篇文章把 2026 年主流代理客户端(Clash Verge Rev / v2rayN / Shadowrocket / V2RayNG / Hiddify)和协议层最常见的报错按类型整理,每个错误都给出原因分析 + 解决方案。
建议收藏本页,遇到报错时按图索骥。
使用方法
按 Ctrl+F(Mac 用 Cmd+F)搜索你遇到的错误关键词,直接跳到对应章节。
🔍 快速定位表
| 你遇到的问题 | 跳转章节 |
|---|---|
| 客户端启动报错 / 服务启动失败 | 一、客户端启动类错误 |
| 节点变红 / 连不上节点 | 二、节点连接类错误 |
| TLS / 证书相关报错 | 三、TLS 证书类错误 |
| 开了代理但上不了网 | 四、代理已开但无法上网 |
| DNS 解析失败 / DNS 泄露 | 五、DNS 类错误 |
| 速度慢 / 频繁断连 | 六、速度与稳定性类错误 |
| 订阅更新失败 | 七、订阅更新类错误 |
| 手机端特有问题 | 八、移动端特有错误 |
| 协议层错误码 | 九、协议层错误码速查 |
一、客户端启动类错误
1.1 Start Service Failed(Clash Verge Rev)
出现位置: Clash Verge Rev 启动时右下角红色弹窗
原因分析: Clash/Mihomo 内核服务未能正常启动。常见原因:
- 端口被其他程序占用(默认 7890/9090)
- 管理员权限不足(TUN 模式需要管理员权限)
- 内核文件损坏或版本不匹配
- 杀毒软件拦截了内核进程
解决方案:
- 检查端口占用:打开终端执行
lsof -i :7890,找到占用进程并关闭 - 以管理员身份运行:右键 Clash Verge Rev → 以管理员身份运行
- 关闭杀毒软件临时测试:如果关闭后正常,将 Clash 加入白名单
- 重装内核:设置 → Clash 内核 → 切换到另一个内核(如从 Mihomo 切到 Clash Premium)
- 终极方案:卸载后重新安装最新版
详细排查步骤
如果你用的是 macOS,还需要检查是否在「系统设置 → 隐私与安全性」中允许了 Clash Verge Rev 运行。macOS 对未签名应用有严格限制,首次运行可能会被阻止。
更详细的 Clash Verge Rev 排错请看 Clash Verge Rev 排障急救室
1.2 Failed to start: exit code 1(v2rayN)
出现位置: v2rayN 主界面底部状态栏
原因分析: v2rayN 调用的 V2Ray/Xray 内核启动失败。常见原因:
- 配置文件格式错误(手动编辑后语法不对)
- inbound 端口与其他程序冲突
- 内核版本过旧,不支持新协议
解决方案:
- 检查配置文件:日志 → 查看
v2ray.log,找到具体错误行 - 重置端口:设置 → 核心基础设置 → 把 SOCKS 端口改为 10808,HTTP 端口改为 10809
- 更新内核:设置 → 检查更新 → 更新 V2Ray 核心
- 删除自定义配置:如果手动改过配置文件,备份后删除让客户端重新生成
1.3 Permission denied / Operation not permitted(macOS/Linux)
出现位置: 终端启动代理内核时
原因分析: 文件权限不足,或 macOS 的 SIP(系统完整性保护)阻止了操作。
解决方案:
bash
# 赋予执行权限
chmod +x /path/to/v2ray
# 如果是 TUN 模式需要 root 权限
sudo ./v2ray run -c config.jsonmacOS 用户如果遇到 SIP 拦截,不建议关闭 SIP,改用 Clash Verge Rev 的图形化 TUN 模式更安全。
1.4 Port already in use(全客户端通用)
原因分析: 代理客户端设置的监听端口被其他程序占用。
解决方案:
bash
# macOS / Linux 查看端口占用
lsof -i :7890
# 或
netstat -tlnp | grep 7890
# Windows 查看端口占用
netstat -ano | findstr :7890找到占用端口的进程后:
- 如果是另一个代理客户端:先关闭旧客户端
- 如果是其他程序:在客户端设置中更换端口(如 7891、7892)
常见端口冲突
- 7890:Clash 默认混合端口
- 1080:Shadowsocks / SOCKS 默认端口
- 10808:v2rayN 默认 SOCKS 端口
- 9090:Clash Dashboard 默认端口
- 53:DNS 端口,常与系统 DNS 冲突
二、节点连接类错误
2.1 节点显示红色 / connection refused
原因分析: 节点服务器拒绝连接。常见原因:
- 节点服务器已关机或 IP 变更
- 节点端口被防火墙封锁
- 机场已停用该节点
- 你的 IP 被节点服务器封禁
解决方案:
- 切换其他节点测试:如果其他节点正常,说明是该节点的问题,联系机场客服
- 尝试不同协议的节点:如果 SS 节点不通,试试 VMess/Trojan 节点
- 更新订阅:可能节点信息已变更,更新订阅获取最新节点列表
- 联系机场客服:确认该节点是否在维护
2.2 connection timeout / dial timeout
原因分析: 连接节点超时(通常 5-10 秒内无响应)。常见原因:
- 网络到节点服务器之间被 GFW 阻断
- 节点服务器负载过高响应慢
- 本地网络不稳定(如弱 WiFi 信号)
- 节点 IP 被 ISP 封锁
解决方案:
- 换节点:优先尝试不同地区的节点(如从日本切到香港)
- 换协议:如果用 SS,试试 Trojan 或 VLESS+Reality(抗封锁更强)
- 检查本地网络:ping 一下国内网站确认本地网络正常
- 尝试 IPLC/IEPL 专线节点:如果中转节点全部超时,专线节点可能还通
IP 被封锁的判断方法
在终端执行 ping 节点IP,如果 100% 丢包且显示 Request timeout,而其他网站正常,说明该节点 IP 可能被 GFW 封锁了。此时只能等机场更换 IP,或切换其他节点。
2.3 proxy dial failed / shadowsocks cipher not supported
原因分析: 协议或加密方式不匹配。常见于:
- 客户端版本过旧,不支持新加密方式
- 订阅链接中的加密方式与服务端不一致
- 使用了已弃用的加密方式(如
aes-256-cfb)
解决方案:
- 更新客户端到最新版
- 检查加密方式:推荐使用
aes-256-gcm或chacha20-ietf-poly1305 - 切换协议:如果 SS 持续报错,建议换用 Trojan 或 VLESS
2.4 all nodes failed / no available proxy
原因分析: 所有节点都连不上。这通常不是单个节点的问题,而是:
- 订阅过期或被重置
- 本地网络完全中断
- ISP 大规模封锁代理协议
- 客户端配置错误(如 DNS 配置导致无法解析节点域名)
解决方案:
- 先确认本地网络正常:关闭代理,打开百度,确认能上网
- 更新订阅:手动更新订阅链接,看是否获取到新节点
- 检查 DNS:如果节点用域名连接,尝试手动 ping 域名看能否解析
- 换客户端测试:用另一个客户端导入相同订阅,排除客户端问题
- 备用机场:如果所有节点都失败,切换到备用机场
防患于未然
这就是为什么我们一直建议 一主一备机场。主力全挂时备用机场可以救急。
三、TLS 证书类错误
3.1 TLS handshake failed / certificate verification failed
原因分析: TLS 握手失败,证书验证不通过。常见原因:
- 节点服务端证书过期
- 客户端时间不正确(证书验证依赖系统时间)
- 使用了自签名证书但客户端开启了严格验证
- MITM 中间人攻击(极少数情况)
解决方案:
- 检查系统时间:确保系统时间和日期准确(设置 → 时间和日期 → 自动设置)
- 更新订阅:获取最新节点信息,可能机场已更换证书
- 检查 allowInsecure 设置:
- 如果是自建节点:在客户端配置中设置
allowInsecure: true(仅测试用) - 如果是机场节点:联系客服确认证书状态
- 如果是自建节点:在客户端配置中设置
- 换节点:如果只有部分节点报此错,切换到其他节点
关于 allowInsecure
开启 allowInsecure: true 会跳过证书验证,降低安全性,仅在自建节点调试时临时使用。机场节点不建议开启。
3.2 x509: certificate has expired or is not yet valid
原因分析: 节点服务端的 TLS 证书已过期,或系统时间错误导致证书验证失败。
解决方案:
- 检查系统时间(最常见原因):系统时间差超过证书有效期就会报此错
- 联系机场客服:如果是机场节点,证书过期是服务端问题,需要机场更新
- 自建节点续签证书:如果用 Let's Encrypt,执行
certbot renew
3.3 remote error: tls: alert (1160) / tls: unknown certificate
原因分析: Reality 协议的特殊报错。Reality 协议通过伪装成正常 TLS 流量来抗封锁,如果配置不当会出现此错误。
解决方案:
- 检查 dest/publicKey/shortId 配置:这三项必须与服务端完全一致
- 确认 dest 域名可访问:客户端必须能正常访问 dest 指定的域名
- 更新客户端:旧版客户端可能不支持 Reality 协议,需要 v2rayN 6.x+ 或 Xray 1.8+
Reality 协议详解请看 VLESS Reality 协议科普
3.4 tls: first record does not look like a TLS handshake
原因分析: 客户端尝试用 TLS 协议连接,但服务端返回的不是 TLS 响应。通常是因为:
- 协议类型选错了(如服务端是 SS 但客户端选了 Trojan)
- 端口号填错了
- 节点已经被封并降级为 HTTP 响应
解决方案:
- 核对协议类型:确保客户端的协议设置与服务端一致
- 核对端口号:确认端口号正确
- 换节点:如果配置正确但仍报错,节点可能已失效
四、代理已开但无法上网
这是最让人抓狂的问题——代理明明开着,但网页打不开。
4.1 国内国外网站都打不开
原因分析: 代理客户端接管了所有流量但节点不通,导致全部流量被丢弃。
解决方案:
- 立即关闭系统代理:先恢复网络
- 检查节点是否正常:在客户端内测速,确认有可用节点
- 检查 TUN 模式:如果开了 TUN 模式,确保有管理员权限
- 检查路由规则:确保规则没有把所有流量都 REJECT
yaml
# Clash 规则检查:确保没有 catch-all 的 REJECT
# 错误示例(会拒绝所有流量):
# - MATCH,REJECT
# 正确示例:
- MATCH,节点选择4.2 国外能上但国内打不开
原因分析: 国内流量也被代理转发了(没有正确分流),导致国内网站走了境外节点被拒绝。
解决方案:
- 检查分流规则:确保有
GEOIP,CN,DIRECT规则 - 启用规则模式:不要用全局模式(Global),改用规则模式(Rule)
- 检查 DNS:确保国内域名走国内 DNS 解析
yaml
# Clash 标准分流规则
rules:
- GEOIP,CN,DIRECT
- MATCH,节点选择
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- https://223.5.5.5/dns-query # 国内 DNS
fallback:
- https://8.8.8.8/dns-query # 国外 DNS详细配置参考 Clash Verge Rev 进阶设置
4.3 国内能上但国外打不开
原因分析: 代理没有正确接管流量,或节点不通但分流规则把国外流量也 DIRECT 了。
解决方案:
- 检查系统代理是否开启:确保客户端的"系统代理"开关已打开
- 检查节点连通性:在客户端内做延迟测试
- 检查端口:确保浏览器使用的代理端口与客户端设置一致
- 关闭浏览器代理插件:如果装了 SwitchyOmega 等,确保设为"系统代理"或关闭
4.4 只有部分网站打不开
原因分析:
- DNS 污染导致域名解析到错误 IP
- 该网站被节点服务器封禁(如某些 AI 网站封了代理 IP)
- 分流规则错误把该网站走了 DIRECT
解决方案:
- 强制该网站走代理:在规则中添加
DOMAIN-SUFFIX,xxx.com,节点选择 - 换节点:某些网站封了特定代理 IP,换个节点可能就好了
- 清 DNS 缓存:bash
# macOS sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder # Windows ipconfig /flushdns
五、DNS 类错误
5.1 dns resolve failed / domain not found
原因分析: DNS 解析失败,无法将域名转换为 IP。常见原因:
- DNS 服务器不可用
- DNS 被污染,返回了错误结果
- fake-ip 模式配置有误
- 节点域名本身已失效
解决方案:
- 检查 DNS 配置:确保 DNS 服务器地址正确
- 切换 DNS:尝试使用
223.5.5.5(阿里 DNS)或1.1.1.1(Cloudflare DNS) - 开启 fake-ip 模式:在 Clash 中设置
enhanced-mode: fake-ip - 手动指定节点 IP:如果节点域名解析失败,在客户端中直接填 IP
详细 DNS 配置方案请看 DNS 泄露防护指南
5.2 DNS 泄露
现象: 代理已开,但 DNS 请求泄露到了 ISP,可能导致被识别。
原因分析:
- 系统 DNS 没有走代理通道
- 浏览器使用了 DoH(DNS over HTTPS)绕过了代理 DNS
- TUN 模式未开启,部分流量绕过了代理
解决方案:
- 开启 TUN 模式:接管所有流量包括 DNS
- 关闭浏览器 DoH:Chrome → 设置 → 隐私和安全 → 安全 → 关闭"使用安全 DNS"
- 使用 fake-ip 模式:所有域名在 Clash 内部解析
- 验证泄露:访问 dnsleaktest.com 检查
5.3 fake-ip filter 导致某些 App 异常
现象: 开启 fake-ip 后,部分国内 App(如微信、支付宝、银行 App)无法正常使用。
原因分析: fake-ip 模式会给所有域名分配虚拟 IP,部分 App 的安全检测会拒绝虚拟 IP 的连接。
解决方案: 在 fake-ip-filter 中添加这些域名:
yaml
dns:
enhanced-mode: fake-ip
fake-ip-filter:
- "*.wechat.com"
- "*.weixin.qq.com"
- "*.alipay.com"
- "*.alipayobjects.com"
- "*.tenpay.com"
- "*.cmbchina.com"
- "*.icbc.com.cn"
- "*.bankcomm.com"六、速度与稳定性类错误
6.1 速度极慢(< 1Mbps)
原因分析:
- 节点负载过高(晚高峰尤其严重)
- 中转节点被限速
- 本地网络问题
- 客户端配置不当(如选了错误的拥塞控制算法)
解决方案:
- 换节点:测速选延迟最低、速度最快的节点
- 换时段:避开 20:00-23:00 晚高峰
- 换机场:如果长期慢,考虑换 IPLC 专线机场
- Hysteria2 协议:如果自建,Hy2 的 Brutal 模式可以突破限速
- 检查本地网络:确保不是 WiFi 信号问题
参考我们的 7月机场测速报告 选速度快的机场
6.2 频繁断连 / 每隔几分钟断一次
原因分析:
- 节点不稳定或服务器重启
- ISP 对长连接做 QoS 限速
- Keep-alive 配置不当
- 运营商对 UDP 流量限速(Hysteria2/TUIC 协议)
解决方案:
- 开启 TCP Keep-alive:在配置中添加yaml
sockopt: tcpKeepAliveInterval: 15 tcpKeepAliveIdle: 15 - 换 TCP 协议节点:如果是 UDP 协议(Hy2/TUIC)断连,试试 TCP 协议(Trojan/VMess)
- 换节点:某节点频繁断连说明该节点不稳定
- 检查路由器:某些路由器会主动断开长连接,检查路由器超时设置
6.3 视频卡顿 / 1080p 缓冲慢
原因分析:
- 节点带宽不足
- 流媒体 CDN 路由不优
- 代理协议开销大
解决方案:
- 选流媒体优化节点:部分机场有专门的"流媒体"标签节点
- 换协议:Trojan 和 Hysteria2 的视频流体验通常好于 SS
- 降低画质:临时降到 720p 先看
- 开 CDN 加速:部分流媒体平台支持自选 CDN 节点
流媒体解锁教程参考 夏季流媒体解锁指南
七、订阅更新类错误
7.1 subscription update failed / 获取订阅返回 404
原因分析:
- 订阅链接已过期或被重置
- 订阅地址变更
- 网络问题导致请求失败
解决方案:
- 登录机场官网:检查订阅链接是否更新
- 重新复制订阅链接:确保没有多复制或少复制字符
- 手动导入:如果客户端更新失败,在浏览器中打开订阅链接看是否有内容返回
- 换 User-Agent:部分机场对 User-Agent 敏感,在客户端中设置正确的 UA(如
clash-verge/v2.0)
7.2 订阅更新后节点全部消失
原因分析:
- 机场重置了订阅(换了新地址)
- 订阅返回了空内容
- 客户端解析订阅失败(格式不兼容)
解决方案:
- 不要清空旧节点:先保留旧节点作为备份
- 浏览器打开订阅链接:查看返回内容是否正常
- 检查订阅格式:确保客户端支持该订阅格式(Clash 订阅 / V2Ray 订阅 / Base64 订阅)
- 联系机场客服:确认订阅是否正常
7.3 subscription expired / 订阅过期
原因分析: 机场套餐到期。
解决方案:
- 续费:登录机场官网续费
- 临时方案:如果有自建节点,手动导入使用
- 换机场:参考我们的 机场选购指南 选择新机场
八、移动端特有错误
8.1 iOS Shadowrocket:VPN Session Timeout
原因分析: iOS 系统对 VPN 会话有时间限制,长时间后台运行会被系统断开。
解决方案:
- 重新连接:打开 App 点击开关重新连接
- 关闭"按需连接":设置 → 关闭"Only When Needed"
- 开启后台保活:参考 手机省电与保活指南
8.2 Android V2RayNG:App keeps stopping
原因分析:
- v2rayNG 版本过旧
- 配置文件格式错误导致内核崩溃
- Android 系统内存不足杀掉了后台进程
解决方案:
- 更新 v2rayNG:从 GitHub 下载最新版
- 清除配置重新导入:设置 → 清除配置 → 重新导入订阅
- 关闭电池优化:系统设置 → 电池 → v2rayNG → 不优化
- 锁定后台:最近任务页面向下拉动锁定 v2rayNG
详细教程参考 V2RayNG 完整使用指南
8.3 iOS:Shadowrocket cannot be verified
原因分析: Shadowrocket 是非中国区 App Store 应用,如果 Apple ID 区域不对或证书过期会无法验证。
解决方案:
- 确保使用美区/港区 Apple ID 下载
- 更新到最新版:App Store → 更新 Shadowrocket
- 重新登录 Apple ID:设置 → App Store → 退出重新登录
美区 Apple ID 注册教程请看 美区 Apple ID 指南
8.4 手机发热严重
原因分析:
- 代理加密解密消耗 CPU
- 后台保活持续唤醒
- 节点质量差导致频繁重连
解决方案:
- 选高效协议:Shadowsocks 的 CPU 开销小于 Trojan
- 关闭不必要的后台保活
- 减少规则数量:过多的分流规则会增加 CPU 负担
- 用 fake-ip 替代 redir-host:减少 DNS 查询开销
九、协议层错误码速查
9.1 Shadowsocks 错误
| 错误信息 | 含义 | 解决方案 |
|---|---|---|
cipher not supported | 加密方式不支持 | 更新客户端 / 换加密方式 |
aead decrypt failed | AEAD 解密失败 | 密码或加密方式不对 |
connecting to unreachable server | 服务器不可达 | 换节点 |
malformed response | 响应格式错误 | 协议版本不匹配 |
9.2 VMess/VLESS 错误
| 错误信息 | 含义 | 解决方案 |
|---|---|---|
invalid user | 用户 ID 错误 | 检查 UUID 是否正确 |
invalid request | 请求格式错误 | alterId 不匹配 |
unexpected EOF | 连接被中途切断 | 节点不稳定,换节点 |
vmess: invalid version | VMess 版本不匹配 | 更新客户端 |
9.3 Trojan 错误
| 错误信息 | 含义 | 解决方案 |
|---|---|---|
trojan: handshake failed | TLS 握手失败 | 检查证书 / SNI 配置 |
trojan: auth failed | 密码错误 | 检查 password 是否正确 |
trojan: unexpected response | 服务端返回异常 | 节点可能已被封 |
9.4 Hysteria2 错误
| 错误信息 | 含义 | 解决方案 |
|---|---|---|
auth failed | 认证失败 | 检查 password / auth |
bandwidth too low | 带宽协商失败 | 检查 up/down 带宽设置 |
masquerade failed | 伪装失败 | 检查 masquerade 配置 |
UDP blocked | UDP 被封锁 | 换 TCP 协议节点 |
Hysteria2 详细排错请看 Hysteria2 自建与高级配置指南
9.5 HTTP 状态码
| 状态码 | 含义 | 解决方案 |
|---|---|---|
407 Proxy Authentication Required | 代理需要认证 | 检查代理用户名密码 |
502 Bad Gateway | 节点服务器故障 | 换节点 |
503 Service Unavailable | 服务不可用 | 节点过载,换节点 |
521 Web Server Is Down | Cloudflare 防护 | 节点 IP 被目标网站封 |
🔧 通用排查流程
如果上面的分类没有覆盖你的问题,按这个流程排查:
第1步:关闭代理,确认本地网络正常
├─ 能上网 → 进入第2步
└─ 不能上网 → 修复本地网络
第2步:开启代理,检查节点连通性
├─ 节点测试有延迟 → 进入第3步
└─ 节点全部超时 → 更新订阅 / 换机场
第3步:检查系统代理是否正确开启
├─ 已开启 → 进入第4步
└─ 未开启 → 手动开启系统代理 / TUN 模式
第4步:检查 DNS 配置
├─ 解析正常 → 进入第5步
└─ 解析失败 → 开启 fake-ip / 换 DNS
第5步:检查分流规则
├─ 规则正确 → 进入第6步
└─ 规则有误 → 添加 GEOIP,CN,DIRECT
第6步:查看客户端日志
├─ 有明确错误 → 回到上方对应章节
└─ 无明确错误 → 换客户端测试 / 换节点📌 各客户端日志查看方法
排查问题时,日志是最重要的信息源:
| 客户端 | 日志位置 |
|---|---|
| Clash Verge Rev | 日志页面(左侧导航栏 → 日志) |
| v2rayN | 主界面底部状态栏 → 右键 → 查看日志 |
| Shadowrocket | 设置 → 日志 |
| V2RayNG | 主界面 → 日志(右上角图标) |
| Hiddify | 设置 → 日志 |
日志怎么看
重点关注 ERROR、FATAL、failed 关键词所在的行。日志通常包含时间戳 + 错误级别 + 错误详情,找到最新的错误行就能定位问题。
🆘 还是解决不了?
如果以上方法都不能解决你的问题:
- 查看客户端的 FAQ / 官方文档:各客户端的 GitHub Wiki 通常有详细排错指南
- 查看各专题的故障排除文章:
- 联系机场客服:如果是机场节点问题,客服能直接查看服务端状态
- 换客户端 / 换机场:排除法是最快的定位手段
本文持续更新,如遇到未收录的报错,欢迎反馈。
相关阅读:
- Clash Verge Rev 排障急救室 — Clash 专属报错详解
- Hysteria2 自建与高级配置指南 — Hy2 协议排错
- DNS 泄露防护指南 — DNS 问题深度排查
- 我的科学上网工具包推荐 — 推荐稳定好用的工具组合
- 7月机场测速报告 — 选速度快的机场避免稳定性问题

