tianx Blog →
← 全部文章

02Blog · 实战

东京 VPS 代理节点实测:VLESS + REALITY 排障记

实战阅读约 5 分钟
一句话总结:密钥、UUID 全对,握手依然失败——真凶是 REALITY 伪装目标 www.microsoft.com 的证书体积超过了 Xray 8192 字节的硬编码上限。换成 www.cloudflare.com,一把过。

背景

手里有一台东京 VPS,需求很明确:搭一个自己用的代理节点,要快、要稳、要抗封锁。方案选了 Xray 的 VLESS + REALITY + xtls-rprx-vision,监听 TCP 443,UFW 放行,BBR 开启——都是标准操作。

服务端配置一次写对,systemctl status xray 显示 active,443 端口确实在监听,甚至能正常呈现微软的证书作为 REALITY 目标。一切看起来都对了,除了:客户端连不上。

排障过程

按常规思路排查了一圈:

这种「配置全对但就是不通」的情况最磨人。最后把目光投向了 REALITY 的伪装目标本身:www.microsoft.com:443。

根因:8192 字节的硬编码上限

这是 Xray 的一个已知 bug(官方 issue #6356):REALITY 在握手时需要缓存目标站点的证书,而代码里写死了 8192 字节的上限。微软官网的证书链体积超过了这个上限,导致握手直接失败——跟你的密钥、UUID 一点关系都没有。

教训:当所有「该对的」都对了,就去怀疑那些你以为「肯定没问题」的部分。

修复:一行配置的事

把 REALITY 的伪装目标从 www.microsoft.com 换成 www.cloudflare.com(证书体积小,在上限内),重启 Xray,客户端把 SNI 同步一改——通了。

服务端实测:Google 返回 204,example.com 正常加载。节点正式服役。

经验清单


下一篇:《Hysteria2 + Brutal:UDP 加速的暴力美学》——在同一台机器上再加一个 UDP 协议的节点。