Closed aisisi02 closed 1 year ago
感谢,看了一遍 RPRX 对 maxTimeDiff 参数的解释顿悟了。试了一下以上现象全部消失,这个参数调个 10000-60000 似乎挺合理。
我这边也是遇到相同问题(不过服务能正常用),一开始还以为是服务器日志没有配置对,把loglevel设置为none还是不停出现,后面才发现是error而不是日志(建议给它打上[ERROR]标签)。 看到这个issue后,把maxTimeDiff从原本的70000改到100000就正常了。
REALITY remoteAddr: client ip:port
REALITY remoteAddr: client ip:port hs.c.AuthKey[:16]: [36 134 98 56 123 7 211 16 140 166 0 98 68 151 117 212] AEAD: *aes.gcmAsm
REALITY remoteAddr: client ip:port hs.c.ClientVer: [1 8 4]
REALITY remoteAddr: client ip:port hs.c.ClientTime: 2024-02-18 08:23:39 +0800 CST
REALITY remoteAddr: client ip:port hs.c.ClientShortId: [107 168 81 121 227 15 79 194]
REALITY remoteAddr: client ip:port hs.c.conn == conn: true
REALITY remoteAddr: client ip:port len(s2cSaved): 3613 Server Hello: 127
...
REALITY remoteAddr: client ip:port hs.handshake() err: <nil>
REALITY remoteAddr: client ip:port hs.readClientFinished() err: <nil>
REALITY remoteAddr: client ip:port hs.c.handshakeStatus: 1
REALITY 访问同一网站进行的握手次数不一样,有小概率SSL握手失败。
测试环境: Debian bullseye 作为服务端,Windows 作为客户端,两端使用的 Xray-core 版本均为 Github Action 构建里的 Xray-core v1.8.0 #1173 。Xray-core 流量跑在通过 CERNET2 IPv6 环境搭载的 wireguard 隧道上,因此日志中看到的都是内网IP地址,连接测试过肯定是稳定的。
测试方式为 使用Windows下的 curl 7.87.0 (x86_64-w64-mingw32) ,命令
SSL握手错误时的输出:
以下配置文件已经将敏感信息模糊化处理
服务端配置:
客户端配置
客户端连接失败日志:
服务器连接失败日志:
大部分情况下是遇到单个连接多次握手
客户端多次握手日志:
服务端多次握手日志:
多次握手并不一定会发生,而且多次握手的次数在2-5次不等,如果第五次还不行就连接失败了