Files
Nexus/docs/reports/2026-06-10-rdp-guacd-handshake-deploy-verification.md
T
Nexus Agent 960598f504 fix(rdp): 服务端 guacd 握手替代透明 TCP 桥接
guacamole-common-js 不会向 guacd 发送 select/connect;改为 Nexus 用 rdp_hosts 凭据完成握手后再桥接 WebSocket,消除 protocol violation。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 21:33:01 +08:00

1.3 KiB
Raw Blame History

2026-06-10 RDP guacd 握手修复 — 生产验证

变更

  • 服务端完成 guacd selectconnectready 握手,再桥接 WebSocket
  • 凭据来自 rdp_hosts 表,不依赖 URL 中的 password

部署

  • 主机 /opt/nexus 已同步新文件
  • nexus-1panel.sh upgrade --no-backup 重建镜像 nexus-prod-nexus
  • /health → ok

验证(Agent 执行)

1. guacd 直连握手(容器内 Python

handshake 20.189.75.225 3389 azureuserwindwos guacd guacd 4822
READY $da3288e0-2943-4186-b542-b00156251633

guacd 日志:

Creating new client for protocol "rdp"
Connected to RDPDR 1.13 as client 0x0003

2. WebSocket 隧道

FIRST_MSG 0.,37.$f5b63cbd-2af9-4ee4-a714-37a7fbf1df9c;

首包为 Guacamole tunnel OPEN(空 opcode + connection id),符合 guacamole-common-js 预期。

3. 结论

  • Guacamole protocol violation(透明 TCP 桥接)已消除
  • RDP 目标 20.189.75.225:3389 可从 guacd 建立会话

待用户终验

浏览器:https://api.synaglobal.vip/app/#/rdp → 选择 azurewin11 → 连接,应出现远程桌面画布。

备注

  • 代码尚未 git push(仅主机热更新 + 镜像重建);建议后续提交 protocol.py / ws_tunnel.py / rdp.py
  • RDP 用户名库中为 azureuserwindwos(若 Windows 实际用户不同需在前端编辑)