Websocket 因 1006 错误而断开连接,无原因

Esq*_*uth 4 nginx websocket node.js cloudflare

我正在我的网页游戏中记录断开连接。似乎 75% 的会话因代码 1001(正常)而断开连接,25% 的会话因代码 1006(错误)而断开连接。https://www.rfc-editor.org/rfc/rfc6455

有时,关于错误原因,我会看到以下文字:

CloudFlare WebSocket 代理重新启动

但 1006 次断开连接中的大多数根本没有给出任何原因。玩家们毫无理由地断开连接。这通常发生在玩家正在积极玩游戏的 5-30 分钟内。

我的设置有这些:

我的问题是:

  1. 如何更好地调试这个问题?
  2. 可能导致此问题的常见情况有哪些?

Esq*_*uth 6

出现此特定错误的原因是 Cloudflare 更新了其 SSL、防火墙、Nginx、物理服务器的软件或配置。

系统中几乎所有正在更新的堆栈都会踢出您的 websocket。你有2个解决方案:

  1. Websockets 不使用 Cloudflare
  2. 具有自动重连逻辑

  • 看起来你在整整两年后才发布了你自己问题的答案。由于有人看到类似的问题,感谢您的跟进!好奇,您是如何发现 Cloudflare 是原因的? (2认同)
  • 通过与一位试图销售企业套餐的工程师通话并询问他们问题 (2认同)