适用于订阅超时、返回错误状态码、更新后没有节点,以及定时更新未执行的情况。先保留现有节点,再按“地址、请求路径、响应内容、自动更新条件”逐层检查;每次只改一项,用同一分组的手动更新结果判断是否修复。
先分清:订阅下载失败,还是节点连接失败
订阅更新是客户端向一个 HTTP 或 HTTPS 地址请求配置列表;连接节点则是内核使用列表里的服务器参数建立连接。两者不是同一个过程。旧节点仍能使用,不代表订阅地址有效;订阅成功,也不代表每个新节点都能连接。
排查时先记下失败发生在哪一步。出现 403 通常说明请求已经到达某个 HTTP 服务;出现 connection refused 则应先确认究竟是本地代理端口还是远端服务拒绝连接。不要把所有报错都归为“节点失效”。
- 保留当前可用分组,记录现有节点数量、当前活动服务器和报错时间。不要先清空列表。
- 只更新一个出问题的分组,避免多组日志交错。在 v2rayN 主窗口查看本次订阅操作输出;内核日志用于补充检查代理链路。
- 记录请求模式:不通过代理,还是通过代理。后续对比必须使用相同地址。
- 保存错误关键词和状态码,隐藏完整订阅 URL、访问令牌及账户信息后再向服务提供方反馈。
订阅地址检查:过期链接、登录页面与格式不匹配
在 v2rayN 中打开「订阅分组」→「订阅分组设置」,编辑目标分组,检查订阅地址。在 v2rayNG 中通过侧栏进入「订阅分组设置」,打开对应条目核对 URL。菜单文字可能随版本略有变化,目标都是保存分组名称与订阅地址的编辑页。
从服务提供方的账户页面重新复制客户端订阅地址,确认没有首尾空格、换行、中文引号或被聊天工具截断的参数。订阅地址常带有访问凭据;重置凭据后,旧地址即使外观相似也可能立即失效。
| 看到的内容 | 可能含义 | 下一步 |
|---|---|---|
| HTTP 401 / 403 | 凭据无效、权限限制,或网关拒绝请求 | 核对账户状态与新订阅地址;若仍失败,询问是否有限制请求来源 |
| HTTP 404 / 410 | 路径不存在,或旧入口已撤下 | 从账户页重新获取地址,不手动猜测 URL 路径 |
| HTTP 429 | 请求频率受到限制 | 停止连续重试,按服务端提示等待,并延长更新间隔 |
| HTTP 200,但解析失败 | 可能返回登录页、验证页面或不兼容的配置格式 | 核对响应类型,选择适合当前客户端的订阅格式 |
| 成功但新增 0 个节点 | 可能为空订阅、内容未变化,或条目无法解析 | 对照更新前后总数与日志,不单看“新增”数量 |
直连与通过代理更新:用同一地址做对照
v2rayN 的「订阅分组」菜单通常提供「更新当前订阅(不通过代理)」与「更新当前订阅(通过代理)」等操作,也可能另有更新全部订阅的入口。先选当前分组,分别测试一次。系统代理开关与订阅菜单中的下载方式不是同一设置,不要仅凭任务栏图标判断请求路径。
- 直连失败、通过代理成功:优先保留经代理更新方式,再检查本地网络是否能解析、访问订阅域名。
- 直连成功、通过代理失败:先修复活动节点或本地代理监听;也可能是订阅服务限制了代理出口。
- 两种方式都返回相同的 403:优先核对订阅权限和服务端规则,反复切换本地端口通常没有帮助。
- 两种方式都超时:检查网络、域名解析和服务端可用性,再决定是否需要联系提供方。
在 v2rayNG 中,先启动一个已知可用的配置,再从主界面右上角菜单执行「更新订阅」。若当前版本提供通过代理更新的选项,明确记录开关状态;没有独立选项时,不能直接套用桌面端菜单。Android 的 VPN 连接状态也不能单独证明订阅请求一定经过远端节点。
结论:先恢复一条可用更新路径
直连能更新就先用直连;只有经代理能更新时,保留至少一个可用节点。不要删除旧分组后再测试,否则可能同时失去订阅入口和下载订阅所需的代理连接。
报错关键词:超时、证书、解析与端口占用
不同系统和客户端的提示语言不完全相同。下面列出常见底层错误片段;定位时要同时看目标地址与前后日志,不能仅凭一个关键词修改所有网络设置。
connection refused
原因与解法:目标端口主动拒绝连接。若目标为 127.0.0.1,先检查本地内核是否启动、代理端口是否一致;若为远端地址,则核对服务端口和服务状态。
context deadline exceeded
原因与解法:请求未在限定时间内完成。先对照直连与经代理更新,确认卡在连接、TLS 握手还是读取响应;单纯延长超时不能修复失效链接。
no such host
原因与解法:域名解析失败。核对订阅域名拼写,确认设备网络可用;如果是内核日志中的节点域名,应排查活动节点,而不是立即更换订阅地址。
x509: certificate has expired or is not yet valid
原因与解法:证书有效期检查失败。先校准设备日期、时间与时区;时间正确时请服务提供方检查证书,不要通过关闭证书验证绕过问题。
address already in use
原因与解法:本地监听端口已被占用。关闭重复启动的客户端,或调整监听端口;确认内核成功启动后,再测试通过代理更新。
本地端口检查示例
假设「设置」→「参数设置」的本地监听端口填写为 10808,在 Windows 终端执行下列命令。这里的端口仅为排查示例,应替换成当前客户端实际显示的值;HTTP、SOCKS 或混合监听方式也以当前设置为准。
netstat -ano | findstr ":10808"
检查本地地址和状态为 LISTENING 的记录,记下最后一列 PID,再到任务管理器「详细信息」核对进程。属于当前内核的监听是正常现象;只有其他进程抢占同一监听地址与端口时,才需要处理。不要看到端口号就结束进程,也不要把不同版本常用的端口号当成固定默认值。
自动更新设置:v2rayN 与 v2rayNG 分开确认
先完成一次手动更新,再配置定时任务。自动更新只会按计划重复下载,不能修复 403、错误地址或不兼容格式。设置前尤其要看清时间单位:分钟与小时相差 60 倍。
| 客户端 | 检查入口 | 设置与验证 |
|---|---|---|
| v2rayN | 「订阅分组」→「订阅分组设置」→编辑目标分组 | 查找「自动更新间隔(分钟)」或同义字段;例如需要每 6 小时更新一次,分钟字段填写 360 |
| v2rayNG | 侧栏「订阅分组设置」→编辑目标分组;同时检查侧栏「设置」中是否有订阅更新选项 | 核对当前版本是否提供自动更新开关和间隔字段;若单位为小时,每 6 小时填写 6,不能照抄桌面端的 360 |
| 未提供定时选项的版本 | 分组编辑页及设置页均找不到相应字段 | 使用主界面的「更新订阅」手动更新,或先查看版本说明,再决定是否升级 |
v2rayN 常见版本将自动更新间隔保存在每个分组中,设完一个分组不代表其余分组也已启用。若字段说明用 0 表示关闭,就填写大于零的间隔并保存;如界面另有启用开关,还需同时打开。具体禁用值和调度时机以当前版本说明为准,不能假定所有版本保存后都会立即执行。
v2rayNG 的定时更新能力与入口随版本而异,不能把「允许更新」一类控制分组参与更新的选项,当作自动更新开关。只有界面明确提供定时功能时,才设置开关和间隔。没有该项时,不存在一个可以通用于所有版本的隐藏设置路径。
- 间隔:可先按 6 至 12 小时规划,即 360 至 720 分钟;这是配置建议,不是软件默认值。服务提供方有频率要求时,优先遵循其说明。
- 桌面运行条件:保持客户端运行。退出程序或设备休眠期间,不应期待按原时间点持续下载;唤醒后检查最近一次更新记录。
- Android 后台条件:在系统「设置」→「应用」→「v2rayNG」中检查电池与后台数据限制,菜单名称以设备为准。移除限制也不保证后台任务精确到分钟执行。
- 结果验证:到下一个预计周期后检查更新时间、日志与节点数量。若没有可查看的记录,用手动更新确认网络路径,不要仅凭节点排列未变化判定失败。
常见追问:更新成功却没变化,应该检查什么
更新显示成功,为什么还是原来的节点?
服务端可能没有发布新列表。先核对当前选中的分组和更新日志,再比较总节点数;“新增 0 个”不一定是失败。检查搜索框、分组筛选和排序,避免新条目被隐藏。
旧节点全部失效,只有通过代理才能拉取订阅怎么办?
先向服务提供方获取可直连的订阅入口或临时有效配置。保留原分组,不要反复删除重建;没有任何可用出站时,开启“通过代理更新”本身无法建立连接。
换了订阅地址,自动更新怎么还在报错?
重新打开分组编辑页确认新地址已保存,检查是否还保留了同名旧分组。先单独手动更新新分组,成功后再核对该分组自己的自动更新间隔。
更新后节点能测试延迟,但网页打不开,是订阅坏了吗?
延迟测试只证明对应测试路径的部分连接可用。先确认活动服务器、系统代理或 VPN 状态,再检查路由与 DNS;订阅已成功解析时,应转向连接排查,而不是持续下载同一列表。
排查完成后的保留记录
修复后保留最少但足够复现的信息。下次出现相同故障时,先与这份记录对照,比重新调整所有设置更有效。订阅地址属于访问凭据,记录中只保留脱敏后的域名,不保存完整令牌。
- 客户端名称和版本、系统版本,以及失败和恢复的具体时间。
- 成功的更新方式:直连或通过代理;若经代理,记录使用的活动配置名称。
- 最后一次错误关键词、HTTP 状态码、修复动作与更新后节点总数。
- 每个分组的自动更新开关、间隔及单位,以及设备休眠或后台限制情况。
稳定后只保留需要的更新频率。若多个设备共用同一订阅,尽量错开更新时机;如果服务提供方重置了订阅凭据,需要逐台修改地址。客户端安装与基础代理设置可继续参照站内入门指南。