mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-09-20 11:33:32 +08:00
「桌面一直重连中」此前完全无法定位:ws upgrade 的三道闸门(Host 白名单 / URL 解析 / 会话权限)全部静默 socket.destroy(),面板与实例日志一个字都没有。 issue #124 的诊断包即如此——iframe 反复加载、容器里 KasmVNC 一次 websocket 都没收到,却查不出被谁拦下。 - 三条拒绝路径各自留痕,写入「对应实例日志 + 面板日志」,诊断包直接可见: · Host 被拒时回显 host / x-forwarded-host,并提示加 PANEL_ALLOWED_HOSTS · 会话失败细分为「没带 cookie / 会话过期 / 用户不存在 / 被禁用 / 无权限」 —— 反代吞 Cookie 头是这类故障的常见成因,值得单独点名 - 限流:同实例同原因 60s 一条,防 2s 一次的重连把日志刷爆 同时补白名单两个真空档(实测均曾被 400 拒): - Tailscale/Headscale 的 CGNAT 100.64.0.0/10 - 内网 IPv6:fc00::/7(ULA,含 Tailscale fd7a::/48) 与 fe80::/10(链路本地) 此前仅放行 ::1,纯 IPv6 内网用户完全进不来 安全性同 RFC1918:校验的是 Host 头字面量,DNS-rebinding 攻击者的 Host 是自己 的域名,匹配不上,不因此获益。