mirror of
https://gitcode.com/JianFeeeee/ModelRouter.git
synced 2026-11-07 09:47:23 +00:00
真实缺陷(白屏真因之一):view_url 里传了**站点根路径**作为 noVNC 的 path 参数: .../proxy/<id>/vnc.html?path=api%2Fplugins%2Fhttp%2Fchannels%2Fbrowser%2Fproxy%2F<id>%2Fwebsockify 但 noVNC 用 `new URL(path, location.href)` 解析它(app/ui.js 的 connect()), 即**相对 vnc.html 所在目录**解析,默认值就是相对名 "websockify"。传根路径 会被当相对路径 ⇒ 实际请求变成路径重复拼接: .../proxy/<id>/api/plugins/http/channels/browser/proxy/<id>/websockify 于是 WebSocket 永远连不上,noVNC 显示连接失败,页面看似白屏。 修法:只传相对名 path=websockify,与 noVNC 默认值一致。 ★ 判据:必须解析**产品自己给出的 URL**(而不是测试里手拼)。我上一轮验证时 手拼 URL 并省掉了 path 参数(默认值恰好正确)⇒ 掩盖了这个真实缺陷。 新判据断言:path 存在、不以 / 开头、且 ResolveReference 后等于同级 websockify。