跳到正文
不翻车专注 VPN 软件评测

3x-ui节点超时怎么办?面板打不开、连上没网、被墙检测

不翻车编辑部 · 更新于

3x-ui 面板日志窗口,级别 Debug,多行 REALITY processed invalid connection authentication failed,还有一行 invalid request user id

节点超时,先别急着重装服务器。客户端一般只给两个字“超时”,背后至少有五六种原因,而且多数一眼就能分开:端口超时,多半是防火墙或者被墙;拒绝连接,是端口上没程序在听;端口通了还连不上,是参数对不上,服务器日志会直接写出哪一项错了。2026 年 10 月 8 日,我们在一台测试服务器(Ubuntu 26.04、3x-ui v3.9.0、Xray v26.9.30,VLESS + Reality,目标 www.apple.com)上把常见的毛病一个个故意弄出来,下面的报错全部是原样输出。

这篇有视频版:YouTube 上看《3x-ui 节点超时怎么办》。

几个结论先放这:服务器时间拨快 10 分钟、拨慢将近 3 小时,VLESS + Reality 照样能连,“同步系统时间”治不了它的超时;参数一个没错,sing-box 1.14 连 Xray v26.9.30 照样报 reality verification failed;Xray v26.9.30 起,目标网站选 apple、icloud、microsoft 会在日志里警告“更容易被墙”。

这台服务器怎么装、怎么建节点,见3x-ui 安装和面板配置。

先换个测法:绿色延迟不代表能用

手机上的延迟测试,很多只测“手机到服务器”这一段 TCP 能不能连上。小火箭默认就是 TCP:服务器是 Xray v26.9.30 时,同一个节点 TCP 测出 11 ms、绿色,网页却打不开;把“设置 → 延迟测试方法”改成 CONNECT,直接显示超时(小火箭教程里有截图)。

电脑上,本文用 Mac 上的 Xray v26.9.30 内核做客户端,命令行跑 curl 经节点访问 Google。v2rayN 默认也是 Xray 内核,日志里的报错是同一套。

3x-ui 面板打不开怎么办

第一步,确认地址没记错。 SSH 登上服务器,输入 x-ui settings,端口、路径、完整地址都会列出来:

root@vps:~# x-ui settings
current panel settings as follows:
Panel is secure with SSL
hasDefaultCredential: false
port: 186xx
webBasePath: /(你的路径)/
Database: SQLite (/etc/x-ui/x-ui.db)
Access URL: https://147.125.241.xx:186xx/(你的路径)/

注意是 https。路径是安装时随机生成的,少一段都打不开。

地址对,浏览器还是一直转圈,最后提示“响应时间过长”,多半是防火墙挡了端口。 我们把服务器自带的 ufw 防火墙打开,只放行 SSH:

root@vps:~# ufw allow 22/tcp
Rules updated
Rules updated (v6)
root@vps:~# ufw enable
Firewall is active and enabled on system startup

面板马上打不开了,Chrome 报 ERR_CONNECTION_TIMED_OUT:

Chrome 打开 3x-ui 面板地址:无法访问此网站,响应时间过长,ERR_CONNECTION_TIMED_OUT,服务器 IP 末段已打码

还有一种情况:面板用的是 Let’s Encrypt 的 IP 证书(安装脚本默认选项),有效期只有 6 天,靠 80 端口自动续期。80 被防火墙挡住,续期失败,几天以后浏览器会报证书过期。

节点超时:防火墙没放行端口

防火墙挡住面板,也会挡住节点。ufw status 一看,只放行了 22:

root@vps:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)

在电脑上用 nc 测节点的 443 端口,超时;客户端访问 Google 也是超时,日志写的是 i/o timeout:

~ % nc -vz -G 5 147.125.241.xx 443
nc: connectx to 147.125.241.xx port 443 (tcp) failed: Operation timed out

~ % curl -x socks5h://127.0.0.1:10808 -o /dev/null -w "%{http_code}\n" https://www.google.com
000
curl: (28) Connection timed out after 70016 milliseconds

客户端日志:
… failed to dial to dest > dial tcp 147.125.241.xx:443: i/o timeout] > common/retry: all retry attempts failed

Windows 上没有 nc,PowerShell 里用 Test-NetConnection 服务器IP -Port 443 看 TcpTestSucceeded 是 True 还是 False。

修法:用到的端口都放行。 节点端口(这里是 443)、面板端口、订阅端口(默认 2096),再加 80 给证书续期:

root@vps:~# ufw allow 443/tcp
root@vps:~# ufw allow 186xx/tcp
root@vps:~# ufw allow 2096/tcp
root@vps:~# ufw allow 80/tcp

~ % nc -vz -G 5 147.125.241.xx 443
Connection to 147.125.241.xx port 443 [tcp/https] succeeded!
~ % curl -x socks5h://127.0.0.1:10808 -o /dev/null -w "%{http_code}\n" https://www.google.com
200

有的云服务商网页后台还有一层“安全组”或“防火墙规则”,在服务器外面,ufw 管不到,规则一样要放行。

拒绝连接:入站没开、端口不对

把面板“入站列表”里的启用开关关掉:

3x-ui 入站列表:bufanche-test 这条入站的启用开关是关的,端口 443,vless TCP Reality

服务器上 ss 一查,443 没有程序在监听;电脑上 nc 立刻返回 Connection refused,不用等:

root@vps:~# ss -lntp | grep xray
LISTEN 0  4096  127.0.0.1:62789  0.0.0.0:*  users:(("xray-linux-amd6",pid=29194,fd=4))
LISTEN 0  4096  127.0.0.1:11111  0.0.0.0:*  users:(("xray-linux-amd6",pid=29194,fd=8))

~ % nc -vz -G 5 147.125.241.xx 443
nc: connectx to 147.125.241.xx port 443 (tcp) failed: Connection refused

客户端日志:
… failed to dial to dest > dial tcp 147.125.241.xx:443: connect: connection refused] > common/retry: all retry attempts failed

开关打开以后,ss 里多了一行 *:443。

记住这个区别:

现象 意思 先查什么
超时(timed out) 包在半路被丢了 防火墙、安全组,或者被墙
拒绝连接(refused) 服务器收到了,端口上没程序 入站开没开、端口对不对、Xray 在不在运行

Xray 在不在运行,看面板顶上那一块,绿点加“运行中”就是在跑:

3x-ui 面板顶部:绿点,Xray · 运行中 v26.9.30,面板版本 v3.9.0

reality authentication failed、received real certificate 是什么意思

端口通了还是连不上,就是参数对不上。我们在客户端把参数一项项故意填错,客户端日志分别是:

填错的参数 客户端日志
公钥(pbk) REALITY: received real certificate (potential MITM or redirection)
shortId(sid) 同上
SNI(填成 www.icloud.com) x509: certificate is valid for www.apple.com.cn, images.apple.com, www.apple.com, not www.icloud.com
UUID 日志里没有报错,连接直接断开(curl 报 SSL_ERROR_SYSCALL)

received real certificate 的意思是:客户端没通过 Reality 验证,服务器把它当成普通访客,转给了目标网站,客户端收到的是 apple.com 的真证书。

服务器日志写得更清楚,但默认看不到。 3x-ui 的 Xray 日志级别默认是 warning,参数错误一行都不记。先到“Xray 配置 → 日志”,把日志级别改成 info,保存并重启 Xray:

3x-ui Xray 配置页的日志选项卡:日志级别当前是 warning,访问日志 none

然后在面板首页点“日志”,级别选 Debug:

3x-ui 面板日志,级别 Debug:公钥填错时多行 ERROR REALITY processed invalid connection authentication failed or validation criteria not met;UUID 填错时 DEBUG invalid request user id,来源 IP 已打码

  • 公钥或 shortId 不对:REALITY: processed invalid connection from …: authentication failed or validation criteria not met
  • UUID 不对:proxy/vless/encoding: invalid request user id

修法都一样:别手抄参数。 在面板里重新复制订阅链接或节点链接,客户端更新订阅。查完把日志级别改回 warning,面板也提示日志可能影响服务器性能。

reality verification failed:参数没错也报错

这句报错来自 sing-box 内核。我们用 sing-box 1.14.0 连同一台服务器,参数一个没错:

~ % sing-box version | head -1
sing-box version 1.14.0
~ % curl -x socks5h://127.0.0.1:10809 -o /dev/null -w "%{http_code}\n" https://www.google.com
000
curl: (97) Can't complete SOCKS5 connection to www.google.com. (1)

客户端日志:
ERROR connection: open connection to www.google.com:443 using outbound/vless[0]: reality verification failed

把公钥故意填错,sing-box 报的也是这一句,两种情况从报错上分不出来。原因是 Xray 从 v26.9.8 起,对客户端握手有了新要求,按 Xray 作者在 Xray-core #6714 里的说法,sing-box 目前连不上,前因后果见Xray 和 sing-box 的 REALITY 之争。用 sing-box 内核的客户端碰到这句,先看服务器的 Xray 版本,别在参数上死磕。小火箭的情况见小火箭连不上新版 Reality。

节点超时要同步系统时间吗

网上常见的说法是“节点超时,同步一下系统时间”。我们把服务器时间拨快 10 分钟,再往回拨到比正确时间慢将近 3 个小时,两次都能连:

root@vps:~# timedatectl set-ntp false
root@vps:~# date -s '+10 min'; date -u +%T
01:10:36
~ % date -u +%T
01:00:36
~ % curl -x socks5h://127.0.0.1:10808 -o /dev/null -w "%{http_code}\n" https://www.google.com
200
root@vps:~# date -s '-3 hour'; date -u +%T
22:10:39
~ % date -u +%T
01:00:39
~ % curl -x socks5h://127.0.0.1:10808 -o /dev/null -w "%{http_code}\n" https://www.google.com
200
root@vps:~# timedatectl set-ntp true

依据:

  • Xray 官方文档写的是 VMess 依赖系统时间,UTC 误差要在 120 秒以内。
  • Reality 有个“最大时间差”(maxTimeDiff)选项,3x-ui 默认是 0;REALITY 源码里 0 表示不检查。
  • VLESS 协议本身不校验时间。

所以用 VLESS + Reality,时间不准不是超时的原因。用 VMess 的话,还是要保证时间准。

连上了,网页却打不开:路由规则误伤

连上了,有的网站正常,有的打不开,看服务器的路由。我们在面板配置那期一开始在“阻止域名”里选了 China,结果 iPhone 上 Google 打不开:

3x-ui 路由页:阻止 IP 选了 Private IPs 和 China,阻止域名也选了 China

原因是 3x-ui 用的域名规则库把 www.gstatic.com、fonts.googleapis.com 这些 Google 的地址也算成了中国域名。新版面板(v3.9.0)的“路由 → 路由测试”能直接查:输入 www.gstatic.com,匹配出站是 blocked。

3x-ui 路由测试:www.gstatic.com 端口 443 TCP,匹配出站 blocked

客户端测一下,Google 和 YouTube 能开,这两个地址失败:

~ % curl … https://www.google.com                  → 200
~ % curl … https://www.youtube.com                 → 200
~ % curl … https://www.gstatic.com/generate_204    → 000  SSL_ERROR_SYSCALL
~ % curl … https://fonts.googleapis.com/css2       → 000  SSL_ERROR_SYSCALL

改法:阻止 IP 选 China,阻止域名留空。 测试服务器已经改回去。

怎么判断 VPS 被墙了

被墙的典型样子:面板显示 Xray 运行中,配置没动过,突然所有客户端都超时,国内连服务器 IP 也连不上。

用不翻车的去程回程路由检测,输入服务器 IP,它从国内电信、联通、移动的探针追踪过去。我们这台三家都到了终点:电信 159 ms、联通 287 ms、移动 190 ms,没被墙。

不翻车去程回程路由检测:国内三网到测试服务器,电信到终点 159 ms,联通 287 ms,移动 190 ms,IP 末段已打码

要是三家都停在半路、终点没有回应,而面板显示 Xray 运行中,多半是 IP 被墙了,换 IP 比折腾配置快。有的服务商默认屏蔽 ping,这时工具判断不了,要结合其他现象看。

Xray 新警告:目标网站别选 apple、microsoft

Xray v26.9.30 起,Reality 的目标网站(SNI)含 apple、icloud、microsoft,或者是 .cn、.ru、.ir 结尾,启动时日志里会警告:

3x-ui 面板日志,级别 Warning:REALITY: Choosing “www.apple.com” as the target will increase the likelihood of your server’s IP being blocked by the GFW

意思是这样选,服务器 IP 更容易被墙。我们的测试服务器用的就是 www.apple.com,[面板配置](/guides/3x-ui-panel-setup/)那篇也是这么推荐的。Xray 的 Reality 文档给的最佳做法是“偷”同一个 ASN(同一家机房网络)里网站的证书。目标网站怎么换,见Reality 的 SNI 填什么;手里的候选可以用REALITY 目标网站检测查一遍。

连不上,按这个顺序查

  1. 用 CONNECT(或电脑上的 nc)测:是超时,还是拒绝连接。
  2. 面板顶上 Xray 在运行,入站开关开着,端口和客户端一致。
  3. 服务器防火墙(ufw)和云服务商安全组放行了节点、面板、订阅和 80 端口。
  4. 日志级别改成 info,看服务器日志里有没有 authentication failed、invalid request user id。
  5. 客户端能不能连新版 Xray:sing-box 内核、小火箭连 v26.9.8 以后的 Reality 都有问题。
  6. 用面板的路由测试看规则有没有误伤。
  7. 用路由检测工具查 IP 是不是被墙。

常见问题

3x-ui 面板打不开怎么办?

先在服务器上运行 x-ui settings 核对完整地址(https、端口、路径)。地址对还是转圈超时,查服务器防火墙和云服务商安全组有没有放行面板端口。浏览器报证书过期,查 80 端口有没有放行(IP 证书靠它续期)。

节点超时是什么原因?

最常见的是端口被防火墙挡了、IP 被墙。用 nc -vz 服务器IP 端口(Windows 用 Test-NetConnection)测,超时就查防火墙;拒绝连接就查入站开关和端口。

reality authentication failed 怎么解决?

这句出现在服务器日志里,意思是客户端的公钥(pbk)或 shortId 和服务器对不上。在 3x-ui 面板里重新复制订阅链接,客户端更新订阅,不要手抄参数。

reality verification failed 是参数错了吗?

不一定。公钥填错时 sing-box 报这句;参数全对、但服务器 Xray 是 v26.9.8 以后的版本时,sing-box 1.14 也报这句。先看服务器 Xray 版本。

节点超时要同步系统时间吗?

VMess 要,误差要在 120 秒以内。VLESS + Reality 不用:我们把服务器时间拨慢将近 3 小时,照样能连。

怎么检测 VPS 有没有被墙?

用去程回程路由检测从国内三网追踪服务器 IP。三家都能到终点就没被墙;都停在半路、终点没回应,而服务器在国外能正常访问,多半被墙了。

资料来源

  • Xray 官方文档 VMess 出站:时间误差 120 秒(XTLS/Xray-docs-next,docs/config/outbounds/vmess.md,2026-10-08 查阅)
  • Xray 官方文档 REALITY:maxTimeDiff、target 选择建议(docs/config/transports/reality.md,2026-10-08 查阅)
  • REALITY 源码 tls.go:config.MaxTimeDiff == 0 || 时不检查时间(XTLS/REALITY,2026-10-08 查阅)
  • Xray-core v26.9.30 源码 infra/conf/transport_security.go:目标网站警告的触发条件
  • 3x-ui 前端 reality.ts:maxTimediff 默认 0(MHSanaei/3x-ui,2026-10-08)
  • 3x-ui 安装脚本 install.sh:IP 证书 6 天有效期、80 端口 HTTP-01 续期
  • 所有报错:2026-10-08 测试服务器(Ubuntu 26.04、3x-ui v3.9.0、Xray v26.9.30)和 Mac 上的 Xray v26.9.30、sing-box 1.14.0 原样输出,服务器 IP 末段、面板端口和路径已打码