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

Reality目标填了这31个网站,节点每条连接都失败(padding -4)

不翻车编辑部 · 更新于

Xray-core issue

Reality 的目标网站要是握手时什么都不回(不确认域名、不选 H2),从 Xray v26.10.21 起拿它当目标,节点的每一条连接都会失败,服务端日志是 padding: -4。2026 年 11 月 3 日我们在测试服务器(美国)上把全球访问量前 3000 的网站逐个查了一遍,有 31 个是这样;大家常用的 59 个目标(3x-ui 查找目标的 10 个默认候选、苹果、亚马逊、AMD 等)里一个都没有。踩坑的多是不带 www 的主域名:agoda.com 当目标 3 次全失败,www.agoda.com 3 次全通。Xray 维护者已表态暂时不修。

测试服务器(Xray v26.10.31,开 show: true)的日志,客户端 IP 遮了后两段:

REALITY remoteAddr: 136.52.***.***:60869  len(s2cSaved): 5515  Server Hello: 127
REALITY remoteAddr: 136.52.***.***:60869  hs.handshake() err: payload[0]: 8, padding: -4

padding -4 是怎么回事?

Reality 让你的服务器装成目标网站:没有密钥的人连过来,会被原样转给目标网站,看到的是真证书;你自己的客户端连过来,服务器照着目标网站的回应来演,连每一段回应的长度都要对上。

目标网站握手时会回一段加密的说明(TLS 1.3 的 EncryptedExtensions),一般写两件事:确认你要访问的域名(SNI),和选定网页协议(ALPN,比如 h2)。这 31 个网站这段是空的,只有 6 个字节。

Xray v26.10.21 用的 REALITY 库同步了 Go 1.27 的上游代码,服务器自己的这段说明里固定多了一项“确认域名”,比空的长 4 个字节。服务器要把自己的回应补齐到和目标一样长,补出来是 -4,握手失败。报告人 yx64 在 Xray issue #7243 里把原因和复现步骤都写清楚了。

难查的地方:

  • 没有密钥的探测走的是“原样转给目标网站”那条路,一切正常,面板测试、别人帮你测都看不出来。
  • 客户端只报 EOF(我们测的约 4 秒)。
  • 服务端要开 "show": true 才打印 padding: -4;Info 级日志只有一句 REALITY: processed invalid connection ... handshake did not complete successfully;3x-ui 默认日志级别 warning,连这句都没有。

官方修不修?

不修。issue 10 月 23 日提出,维护者 10 月 27 日回复“有必要再说吧,而且不支持 ALPN 的 target 本身也是不鼓励使用的”,关闭为 not planned。v26.10.31 也没改,我们 11 月 2 日实测 v26.10.31 和 v26.10.21 都失败、v26.7.28 正常(同一台测试服务器,节点一夜全断,不一定是被墙 一文有完整对照)。

Xray issue #7243 维护者 Fangliding 回复:有必要再说吧 而且不支持 ALPN 的 target 本身也是不鼓励使用的(2026-11-02 截图)

维护者说的有道理。REALITY 项目说明写的目标网站最低标准是“国外网站,支持 TLSv1.3 与 H2,域名非跳转用”。这 31 个网站握手时不选 H2,按这个标准本来就不合格。照标准选目标的人,一直碰不上这个问题。

REALITY README:通常代理用途,目标网站最低标准:国外网站,支持 TLSv1.3 与 H2,域名非跳转用(2026-11-03 截图)

是哪 31 个网站?

Tranco 榜单 11 月 2 日版的前 3000 个域名,在测试服务器上用 openssl s_client -tls1_3 -alpn h2,http/1.1 逐个握手(11 月 2 日扫一次,11 月 3 日复查一次,两次都是这 31 个)。和 issue 里报告人的抽样结果一致(前 3000 名 31 个,约 1%;3000 名以后随机 6000 个里 35 个,约 0.6%)。

Xray issue #7243 报告人的抽样表:排名 1-3000 共 3000 个域名,空 EE 31 个,1.0%;3000 名以后随机抽样 6000 个,35 个,0.6%(2026-11-02 截图)

类别 网站
俄罗斯(4) dzen.ru、ok.ru、gosuslugi.ru、vtb.ru
政府和国际机构(11) europa.eu、www.gov.br、acesso.gov.br、admin.ch、egramswaraj.gov.in、administracionelectronica.gob.es、dot.gov、si.edu、itu.int、iana.org、icann.org
大学和研究机构(4) purdue.edu、pitt.edu、mpg.de、ieee.org
公司(12) agoda.com、wix.com、dailymotion.com、orange.fr、strato.de、onedrive.com、schwab.com、constantcontact.com、wasabisys.com、kinnser.net、inven.co.kr、dssott.com

.ru 结尾的本来就会触发 Xray v26.9.30 起的“更容易被墙”警告(这篇讲过警告规则)。

onedrive.com 还有第二个问题:它握手用 secp384r1,不支持 X25519。REALITY 靠 X25519 藏客户端的密钥,这种目标在任何版本上都用不了(同 Xray #6861,维护者答复“伪装网站不使用 x25519 它那么本来就用不了”)。我们实连 onedrive.com,客户端 3 次都是 REALITY: received real certificate。

常用的目标有没有问题?

没有。我们测了 59 个常见目标:

57 个回应正常(56 个协商到 h2,go.microsoft.com 只给 http/1.1 但回应不为空)。剩下 2 个:www.onedrive.com 回应为空;www.playstation.com 握手没完成。

能用不等于该用:上面的苹果、微软域名会触发 Xray 警告,www.cloudflare.com 在 Cloudflare 上,理由见Reality 的 SNI 填什么。

为什么加 www 就好了?

主域名很多只是用来跳转到 www 的,服务器配置得很简单。31 个里去掉本来就带 www 的那个,剩 30 个加上 www 再测:

实连对照(服务端、客户端都是 Xray v26.10.31,客户端 chrome 指纹,各 3 次):

目标 结果
agoda.com 0/3,客户端约 4 秒 EOF,服务端 padding: -4
www.agoda.com 3/3,返回 204
目标 agoda.com      #1 000 4.14s  #2 000 4.06s  #3 000 4.04s
服务端:hs.handshake() err: payload[0]: 8, padding: -4
目标 www.agoda.com  #1 204 0.09s  #2 204 0.08s  #3 204 0.20s

REALITY 说明里那句“域名非跳转用(主域名可能被用于跳转到 www)“说的就是这个。

怎么自己查?xray tls ping 查不出来

很多教程(包括我们以前的)让你在服务器上跑 xray tls ping 域名。拿它测 agoda.com:TLS 1.3、证书、证书链长度全部正常,输出里没有 ALPN 一栏,看不出回应是空的。

root@vps:~# ./xray tls ping agoda.com
Pinging with SNI
Handshake succeeded
TLS Version:                       TLS 1.3
TLS Post-Quantum key exchange:     false (X25519)
Certificate chain's total length:  4949 (certs count: 3)
Cert's signature algorithm:        SHA256-RSA
Cert's allowed domains:            [*.agoda.com agoda.com ...]
TLS ping finished

能查出来的三个办法:

  1. 3x-ui 的扫描:入站 → Reality 设置 → 目标旁边的「扫描」或「查找目标」。3x-ui 源码(internal/web/service/reality_scan.go)判断可用的条件是 TLS 1.3、H2、X25519、证书有效同时满足,不协商 h2 会写 server does not negotiate HTTP/2 (h2),回应为空的网站过不了这一关。

    3x-ui 入站编辑安全选项卡:目标旁边的扫描、查找目标两个按钮(2026-10 截图)

  2. openssl 一行命令(在服务器上跑,把域名换成你的):

    openssl s_client -connect 域名:443 -servername 域名 -tls1_3 -alpn h2,http/1.1 </dev/null 2>/dev/null | grep ALPN

    输出 ALPN protocol: h2 合格;输出 No ALPN negotiated 就换一个。我们测 agoda.com 是后者,www.agoda.com 是前者。

  3. REALITY 目标网站检测:名单里的网站,「支持 H2」「握手回应不是空的」两项都是绿的就行。这 31 个网站和它们带 www 的版本已经收进每周检测名单,名单外的用前两个办法。

    不翻车 REALITY 目标网站检测:www.amd.com 可以用,支持 H2 一项显示 ALPN 协商到 h2(2026-11-02 截图)

节点已经断了、怀疑是这个原因:3x-ui「Xray 设置」把日志级别改成 info,再连一次,日志里出现 handshake did not complete successfully,先去查目标网站。和被墙怎么区分,见节点一夜全断,不一定是被墙;其他原因按节点超时排查一项项查。

Reality 目标该选什么样的?

  1. 满足官方最低标准:国外网站、TLS 1.3、能选到 H2、填不跳转的那个域名(多数时候是带 www 的)。
  2. 避开 Xray 会警告的:含 apple、icloud、microsoft,或 .cn、.ru、.ir 结尾。
  3. 不选在 Cloudflare 上的:Xray 文档说目标用这类 CDN,你的服务器可能被扫到后拿去偷跑流量。
  4. 最好选和服务器同一个机房网络(同 ASN)的:Xray 文档写的最佳做法。网上流传的列表别照抄,用的人越多越显眼。找邻居的办法见这篇。

改完目标,客户端要更新订阅(SNI 跟着改成同一个域名),不然会报证书错误。

不建议降级 Xray 来救:退回 7 月版能连上,但会退回默认开着 MPTCP、没有 10 月证书保护的旧版本,换个目标就能解决的事不值得。

这次测试的局限

  • 一台美国服务器、一次扫描。个别网站对不同地区返回的握手不一样,你的服务器测出来可能不同,以你自己服务器上跑出来的为准。
  • 31 个里实连只测了 agoda.com 和 onedrive.com,其余是按握手回应长度判断(原理见上,issue 报告人另外实连了 4 个真实网站,结果相同)。
  • 3x-ui 扫描的判断条件是看源码得出的,没在面板上逐个点。

常见问题

Xray 日志 padding: -4 是什么意思?

目标网站握手时的回应(EncryptedExtensions)是空的,Xray v26.10.21 起服务器自己的回应比它长 4 个字节,补不齐长度,握手失败。换一个回应不为空的目标网站就好,比如把主域名改成带 www 的。

Reality 目标 agoda.com 能用吗?

不能,v26.10.21 起每条连接都失败。改成 www.agoda.com 就正常(2026-11-03 实测 3/3 连通)。

xray tls ping 显示正常,为什么还连不上?

tls ping 不显示 ALPN,也看不出握手回应是不是空的。用 openssl s_client ... -alpn h2,http/1.1 | grep ALPN 或 3x-ui 的扫描再查一次。

降级 Xray 能解决 padding -4 吗?

能连上,但不建议。降级会退回有已知问题的旧版本,换目标网站就能解决。

3x-ui 默认的目标候选会不会有这个问题?

不会。10 个默认候选 2026-11-03 实测回应都正常,都协商到 h2。

Reality 的目标网站怎么选?

国外、TLS 1.3、H2、不跳转;避开 apple、microsoft 和 .cn/.ru/.ir;不选 Cloudflare 上的;最好和服务器同一个 ASN。

资料来源

  • Xray-core issue #7243(yx64,2026-10-23;维护者 Fangliding 2026-10-27 回复后关闭为 not planned)
  • Xray-core issue #6861:目标不使用 X25519 时 REALITY 无法工作(2026-09-30 关闭)
  • XTLS/REALITY README:目标网站最低标准(2026-11-03 查阅)
  • 3x-ui 源码 internal/web/service/reality_scan.go:扫描默认候选和“可用”条件(2026-11-03 查阅)
  • 扫描和实连:2026-11-02、11-03 测试服务器(美国)实测,Xray v26.10.31,OpenSSL 3.0.2,Tranco 榜单 2026-11-02 版