[09:08:12 [ws] closed before connect conn-f0b2e2d7-0e42-45bc-83bb-3613dd0bba06_p...

2026年06月18日 09:08 25.70 秒 success

错误信息

[09:08:12 [ws] closed before connect conn-f0b2e2d7-0e42-45bc-83bb-3613dd0bba06_peer=127.0.0.1:6150->127.0.0.1:18789 remot e=127.0.0.1fwd-180.153.160.45,121.229.172.11,172.16.0.110 origin-https://eaichat.ctyun.cn host=eaichat.ctyun.cnua-Mozi 11a/5.0 (Windows NT 10.0; Win64;x64) AppleWebKit/537.36 (KHTML, 1ike Gecko) ecloudAiAssistant/2.5.9 Chrome/108.0.5359.2 15 Electron/22.3.27 Safari/537.36 code-10o8 reason-origin not allowed (open the Control UI from the gateway host or allo it in gateway.controlUi.allowedOrigins)

AI 解决方案

🔍 错误分析

1. 🌐 错误翻译


原文:reason-origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)
译文:原因:来源(Origin)未被允许。(请从网关主机打开控制界面,或在 gateway.controlUi.allowedOrigins 中进行配置允许)

2. 🎯 原因分析


这是一个典型的跨域资源共享(CORS)策略被拒绝的错误。WebSocket连接在建立握手阶段被服务器主动关闭。

根本原因:您的客户端(浏览器或应用)尝试从源 https://eaichat.ctyun.cn 发起WebSocket连接,但目标WebSocket服务器(监听在 127.0.0.1:18789)的安全策略配置中,未将该域名(eaichat.ctyun.cn)添加到允许的源(allowedOrigins)列表中
触发机制:当客户端发起连接时,浏览器的同源策略会自动在请求头(Origin)中附带源站地址。服务器检查此地址后,发现其不在白名单内,于是返回了1008策略违规关闭码并终止了连接。

3. 💡 解决方案


你需要修改WebSocket服务器(或其网关)的配置文件,将你的前端域名加入允许列表。

以常见的配置格式为例(如Nginx, Node.js应用等):

假设服务器的配置文件中有类似以下的配置项:

// 配置文件片段 (例如 config.json 或 config.yaml)
{
  "gateway": {
    "controlUi": {
      "allowedOrigins": [
        "https://allowed-domain1.com",
        "http://localhost:3000"  // 开发环境常用
      ]
    }
  }
}

修复方案:将 https://eaichat.ctyun.cn 添加到 allowedOrigins 数组中。

// 修复后的配置文件片段
{
  "gateway": {
    "controlUi": {
      "allowedOrigins": [
        "https://allowed-domain1.com",
        "http://localhost:3000",
        "https://eaichat.ctyun.cn" // 添加你的域名
      ]
    }
  }
}

操作步骤

  • 找到WebSocket服务或网关的配置文件。

  • 定位到 gateway.controlUi.allowedOrigins 或类似的跨域白名单配置项。

  • https://eaichat.ctyun.cn 添加到列表中。

  • 保存配置文件并重启WebSocket服务或网关进程。
  • 4. 🛡️ 预防措施


    环境区分管理:为开发(development)、测试(test)、生产(production)环境设置不同的allowedOrigins配置。开发时可以使用localhost127.0.0.1,生产环境必须严格配置为已知的、可信的域名。
    配置审查:在部署新服务或更改前端访问域名时,将“检查WebSocket/API网关的跨域配置”加入发布检查清单,确保域名被正确添加。
    安全最小化原则:在allowedOrigins中,避免使用通配符 (除非是完全公开的API),应精确列出所有允许的源站地址,以增强安全性。