生产中的ActionCable重复了101个回复

问题描述 投票:2回答:1

我正在尝试为我们的rails应用程序部署一个独立的ActionCable服务器。该应用程序在开发模式下本地工作正常,但在部署到生产时,客户端无法建立连接。问题表现如下:

enter image description here

这些是带有升级响应的重复101 Switching Protocol请求。请求永远不会超过这个,并以大约六秒的间隔重复。在服务器上,我正在运行Puma,我可以看到传入的请求:

enter image description here

我确保我在主域和子域之间共享cookie(并且可以看到传递的cookie),但我从未看到连接升级。

一些说明:

  • 连接不是通过SSL
  • 我已经测试过我们的企业防火墙没有阻止WebSockets
  • 有线服务器托管在GCP Cloud Compute实例上
  • 使用Puma运行动作电缆
  • 我可以看到在第二个WebSocket请求上发送的一些外发帧但没有传入帧。

我没有想法,所以会对我接下来要调试的内容有所了解!

ruby-on-rails actioncable
1个回答
2
投票

所以我最终走到了最底层。对于追随我的脚步的人来说,这是围绕cookie名称间距的问题。基本上,cookie没有设置域级别,因此没有与有线服务器共享(在子域上)。

如果您遇到类似的问题,请尝试在应用程序在生产中运行时以开发模式运行有线服务器 - 额外的日志输出应该可以更容易地弄清楚发生了什么。

© www.soinside.com 2019 - 2024. All rights reserved.