修复 WebSocket 连接和来源错误 | AI生成和翻译

Home 2026.03

HTTP 对于你的情况是可行的ws:// 错误并不是由于使用 HTTP 导致的。原因如下:

真正的原因 仍然是 server-side 的 origin check 拒绝了连接并立即将其关闭 — 这就是导致 “closed before connection established” 的原因。根据搜索结果,最常见的原因包括:

  1. CORS/Origin 配置错误 — server 拒绝了 origin header(你的情况)
  2. 无效的 port/host — client 连接的地址与 server 监听的地址不匹配
  3. Server 未配置 WebSocket upgrades

检查你的 config 更改是否已实际保存:

openclaw config get gateway.controlUi

如果 allowedOriginsdangerouslyDisableDeviceAuth 不存在,请重新运行:

openclaw config set gateway.controlUi.allowedOrigins '["*"]'
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
systemctl --user restart openclaw-gateway.service

然后检查 gateway logs 以获取实际的拒绝原因:

journalctl --user -u openclaw-gateway.service -n 100 --no-pager | grep -i "origin\|closed\|reject\|error"

Sources:


Back Donate