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

时间:2017-12-14 06:57:51

标签: ruby-on-rails actioncable

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

enter image description here

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

enter image description here

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

一些注意事项:

  • 连接未通过SSL
  • 我已经测试过我们的公司防火墙没有阻止WebSockets
  • 有线服务器托管在GCP云计算实例
  • 使用Puma
  • 运行动作电缆
  • 我可以在第二个WebSocket请求中看到一些传出帧但没有传入帧。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

当与Redis的连接在服务器上失败时,我遇到了这个问题。我有一个与Redis关联的无效URL,已解决了该问题。

相关问题