fix(client-mod): wss 只协商 TLS 1.2

对实际 MoonBridge wss 监听实测时发现:JDK 8u261+ 默认提供 TLS 1.3,而
Minecraft 自带的 Netty 4.0.10 SslHandler 无法完成 TLS 1.3 握手,连接在
握手超时后失败。客户端引擎改为只启用 TLSv1.2,并加测试断言;文档说明
TLS 终端不能只开放 TLS 1.3,补充互通实测范围。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
This commit is contained in:
Claude committed 2026-10-20 21:38:18 +00:00
1 parent db2a3fa901
commit 3e2caf71ff
4 files changed
+9 -1

No files matched your search

+1
View File
@@ -25,6 +25,7 @@
| `mc.example.com:25565` | 不是 ws/wss,原版 TCP(包括 SRV 记录) |
- 默认端口:`ws` 为 80,`wss` 为 443;路径为空时请求 `/`。`#` 之后的片段会被忽略。
- `wss` 只使用 TLS 1.2:Minecraft 自带的 Netty 4.0.10 无法完成 TLS 1.3 握手。CDN 和 MoonBridge 都支持 TLS 1.2;自建 TLS 终端时不要只开放 TLS 1.3。
- Host 头为 URL 中的主机名(非默认端口时带 `:端口`);`wss` 的 SNI 和证书校验都使用该主机名,按 JDK 默认信任库做正常的证书与主机名校验,不能跳过。
- 路径只允许可打印 ASCII 且不含空格,其他字符请先做百分号编码。
- 发给后端的 Minecraft 握手包里的地址/端口就是 URL 的主机名和端口。