本文适用于已经持有自己的服务商订阅、但在 Shadowrocket(小火箭)里遇到节点超时或连接失败的用户。按本地网络、Connectivity Test、协议参数、系统时间与实际请求的顺序检查,区分端口不可达、认证失败和规则未走预期策略;每次只改一个条件,保留可以复核的结果。
一、先确认失败发生在哪一层
Home 中的连接开关打开,不等于远端节点已经完成认证,也不等于网页请求一定经过该节点。系统可以先建立本地 VPN 通道,之后才由具体请求触发远端连接。因此,“出现 VPN 标识”“节点有延迟数值”和“网页可以访问”是三种不同的观察结果。
开始前记录当前网络是 Wi-Fi 还是蜂窝网络、选中的节点、Global Routing 姿态及失败时间。先不要删除订阅、重置全部设置或同时替换多个参数,否则很难判断哪一步改变了结果。下表是现象判读方法,不是某条线路的实测报告。
| 观察到的现象 | 可以说明什么 | 下一步 |
|---|---|---|
| 断开 Shadowrocket 后,普通网页也打不开 | 本地网络尚未具备正常访问条件 | 完成 Wi-Fi 登录认证,或切换蜂窝网络复核 |
| TCP 测试有数值,实际请求失败 | 目标端口可能可达,尚不能证明认证与 TLS 成功 | 核对密码、UUID、SNI 与传输参数 |
| 测试超时,但网页可以正常访问 | 测试方法或测试目标可能与业务请求不同 | 核对测试方法及网页实际命中的策略 |
| 只有 Wi-Fi 失败,蜂窝网络正常 | 故障与当前网络路径有关的可能性较高 | 检查 Wi-Fi 认证、DNS 与网络访问限制 |
| 仅一个已有节点失败,其他节点可用 | 不宜直接归因于整个客户端 | 核对该节点参数,并向自己的服务商确认状态 |
结论:先保留一个可重复的对照
选定一个失败节点与一个测试目标,保持参数不变,只切换 Wi-Fi 和蜂窝网络各测一次。若结果随网络变化,先处理网络路径;若始终失败,再进入参数核对。
二、按固定顺序完成延迟与连接测试
延迟测试只回答特定测试条件下的问题。TCP 测试主要检查建立 TCP 连接的情况;即使显示毫秒数,也不能代替协议认证和真实请求。对使用 UDP 的连接,TCP 结果尤其不能作为唯一判断。不要把不同测试方法得到的数字直接排序比较。
-
验证本地网络
在 Home 关闭连接开关,用 Safari 打开自己平时可直接访问的页面。如果 Wi-Fi 要求网页登录,先完成认证;此时仍失败,应先排查设备联网,而不是改节点密码。
-
选定测试节点
回到 Home,明确选中准备排查的节点,记录其名称和协议。不要只看列表中某个条目的延迟,而实际连接时仍选着另一个条目。
-
执行连接测试
在 Home 执行 Connectivity Test,记录所选测试方法、结果和网络类型。使用相同方法重复 3 次;保留每次结果,不要只记录其中最快的一次。
-
隔离规则影响
临时将 Home → Global Routing 切到 Proxy,确认使用的是待测节点,再打开连接开关并发起同一个网页请求。测试结束后恢复原来的 Config 或 Scene,避免把排错姿态当作长期配置。
-
更换网络复测
保持节点、测试方法和目标不变,切换到另一种可用网络后重复测试。若正在诊断自动重连,先到 Settings → On Demand 暂停按需连接,结束后恢复原设置。
若 Proxy 下请求成功、恢复 Config 后失败,优先检查 Config 中的命中规则、策略指向与 DNS,而不是继续改协议参数。Global Routing 为 Direct 时,请求直接连接,不能用它来证明代理节点工作正常;使用 Scene 时则应确认当前场景实际采用了什么路由配置。
三、逐项核对协议参数与订阅内容
节点名称只是标签,同名节点也可能已更换地址、端口或认证信息。在 Home 打开该节点的编辑页,对照自己的服务商提供的当前资料核对。用户已有订阅时,优先更新订阅后复查,不要根据网络文章猜测密码、UUID 或传输路径。
| 项目 | 具体检查 | 常见误判 |
|---|---|---|
| Address / Port | 地址不应混入网页路径;端口与服务商资料一致 | 看到 TLS 就把原端口改成 443;443 只是常见端口,不是强制值 |
| Shadowsocks | 同时核对加密方法、密码,以及服务商要求的插件配置 | 密码正确就认为其他字段一定正确 |
| VMess / VLESS | 核对 UUID、TLS 状态及传输方式;使用 WebSocket 时复查 Host 和 Path | 把 WebSocket 的 Host、TLS 的 SNI 和连接地址视为必然相同 |
| Trojan | 核对密码、SNI、端口和证书验证条件 | 用关闭证书验证代替修正错误的服务器名称 |
| Hysteria2 | 核对认证信息、TLS 参数,并确认当前网络允许所需 UDP 通信 | TCP 测试成功便认定 UDP 路径也正常 |
| WireGuard | 核对密钥、Endpoint、隧道地址和 Allowed IPs | 只检查 Endpoint,忽略隧道内地址或路由范围 |
SNI 用于 TLS 握手中的服务器名称指示,证书验证还需要检查名称、信任链与有效期。连接地址是一个 IP,并不意味着 SNI 也应填写该 IP。若服务商资料单独给出域名,应按其资料填写;不要把 Allow Insecure 当作常规修复选项。
四、结合错误原文确定下一步
“超时”描述的是在期限内没有完成某一步,并不直接说明原因。若日志中出现下列英文片段,可以按对应方向缩小范围;具体措辞可能随协议、底层连接库和失败阶段不同。记录完整上下文时,遮盖认证信息,不要只截取最后一个单词。
报错:i/o timeout
原因与解法:某次读写未在期限内完成,可能涉及网络丢包、过滤或远端无响应——先用同一节点在另一网络复测,再核对地址与端口,不能仅凭这行错误断定密码错误。
报错:connection refused
原因与解法:目标或中间设备主动拒绝了连接,常见于端口未监听或拒绝策略——核对订阅中的 Port,向自己的服务商确认该端口的服务状态,不要逐个尝试随机端口。
报错:TLS handshake timeout
原因与解法:TLS 握手未按时完成,可能涉及网络路径、TLS 配置或服务端响应——先复核 SNI、TLS 开关和端口,再换网络比较;这条错误本身不能证明证书已经过期。
报错:certificate has expired or is not yet valid
原因与解法:证书有效期检查未通过,可能是设备时间偏差或服务端证书问题——先校准 iPhone 时间后重试;若时间正确仍失败,由自己的服务商检查证书有效期。
如果错误只在打开某个网站时出现,还应区分“到代理服务器的连接”和“代理服务器到目标网站的连接”。同一个 TLS 提示可能来自不同连接阶段。结合报错中的目标主机、端口以及发生时间判断,避免把目标网站的证书问题误认为节点本身的问题。
五、检查 iPhone 系统时间与自动重连
TLS 证书包含生效时间和到期时间,部分协议的认证也与时间有关。设备时钟明显偏移时,网络与密码都正确仍可能失败。只调整显示时区不等于校准实际时钟;应让系统使用正确的日期与时间,再建立一次新连接。
- 打开 iPhone 的“设置 → 通用 → 日期与时间”,检查“自动设置”,确认当前日期、时间与时区合理。若该选项受设备管理或其他限制而无法修改,应先确认限制来源。
- 回到 Shadowrocket → Home,关闭连接后重新打开,再用原节点与原目标复测。不要在时间调整后只查看上一次测试留下的数值。
- 若刚关闭连接就自动恢复,检查 Settings → On Demand。为了得到明确的手动测试结果,可临时停用,完成后按日常需要恢复。
- 如果只有某个节点持续报证书有效期错误,而其他已有节点正常,记录失败时间与错误片段,交由自己的服务商检查服务器时间及证书链。
On Demand 负责在条件满足时触发连接,不会修复远端密码、过期证书或不可达端口。排错时暂时关闭它,是为了减少连接状态自动变化带来的干扰,不代表长期使用时必须停用。
六、常见追问与提交记录
延迟有数字,为什么还是打不开?
先确认 Connectivity Test 的方法,再到 Home → Global Routing 临时选择 Proxy,用待测节点访问同一目标。TCP 建连成功后,协议认证、TLS 或目标访问仍可能失败。若 Proxy 正常而 Config 失败,应回查规则与策略。
所有节点都超时,要重新购买应用吗?
先关闭连接检查普通网页,再切换 Wi-Fi 与蜂窝网络复测。客户端购买状态不能代替线路状态检查。客户端买断 ≠ 线路套餐;已有订阅是否有效,需要向自己的服务商确认。
订阅更新成功,为什么旧节点仍失败?
在 Home 核对更新后的条目,并明确选中要测试的节点;检查当前 Address、Port 和认证参数是否与最新资料一致。订阅资源可访问与节点服务可用是两件事,不应反复删除重加来代替核对。
向自己的服务商反馈,要发哪些内容?
提供失败时间及其时区、Wi-Fi 或蜂窝网络、协议类型、测试方法、连续 3 次结果,以及已遮盖敏感字段的错误片段。说明另一网络是否可用,不发送完整订阅链接、密码、UUID 或私钥。
结束排查后,恢复原来的 Global Routing 与 On Demand 设置,并再做一次日常网页访问验证。能稳定复现的单变量对照,比一张“连接已打开”的截图更有助于定位问题。若设备时间、参数和本地联网都已核实,且同一节点在不同网络持续失败,应将记录交给自己的服务商检查远端服务。