← AI 百科

WebSocket连接失败

报错库 ·
一句话:实时聊天、通知、协作页面无法建立长连接,常见于代理头、HTTPS、路径或服务端配置错误。

它是什么

WebSocket连接失败通常表现为聊天不实时、控制台报connection failed、页面一直重连。它可能由前后端地址不一致、HTTPS页面连接ws而不是wss、Nginx没有配置Upgrade头、服务端路径错误或负载均衡超时引起。

适合干什么

  • 做AI聊天、客服系统、协作编辑的人
  • 部署后本地WebSocket正常线上失败的人
  • 使用Nginx、Docker或云平台代理长连接的人
  • 需要让AI应用实时返回流式结果的人

不适合干什么

  • 普通HTTP接口404或500问题
  • 数据库连接失败
  • 纯静态页面没有实时通信的项目
  • 浏览器完全无法访问网站的DNS问题

普通人怎么用

  • 打开浏览器控制台查看WebSocket错误
  • 确认前端连接地址和后端WebSocket路径
  • HTTPS页面必须使用wss
  • 检查反向代理是否支持Upgrade
  • 查看服务端是否收到连接请求

进阶用户怎么用

  • 配置代理的Connection和Upgrade头
  • 检查超时时间和心跳机制
  • 确认负载均衡是否支持粘性会话
  • 为断线重连设计指数退避

常见误区

  • HTTPS页面还在连接ws://
  • Nginx少了Upgrade相关配置
  • 前端路径写成/socket,后端实际是/ws
  • 把WebSocket当普通HTTP接口测试

和相似工具的区别

  • WebSocket vs HTTP:HTTP通常一次请求一次响应,WebSocket建立长连接后可以双向持续通信。
  • WebSocket vs SSE:WebSocket双向通信,SSE主要是服务器向浏览器单向推送。

入门步骤

  • 看控制台
  • 确认ws/wss
  • 查路径
  • 查代理头
  • 查服务端日志
  • 测试重连
  • 配置心跳

推荐工具(第三方)

Chrome DevTools、Nginx、Socket.IO、ws、Caddy、Docker