【发布时间】:2016-04-13 08:37:51
【问题描述】:
我将 Jelastic 用于我的开发环境(尚未投入生产)。 我的应用程序使用 Unicorn 运行,但我发现了带有 ActionCable 的 websockets 并将其集成到我的应用程序中。
在本地一切正常,但在部署到我的 Jelastic 环境(使用默认 NGINX/Unicorn 配置)时,我在我的 javascript 控制台中收到此消息,并且在我的访问日志中看不到任何内容
WebSocket connection to 'ws://dev.myapp.com:8080/' failed: WebSocket is closed before the connection is established.
我曾经在我的本地环境中使用过,我通过在我的配置文件中添加所需的 ActionCable.server.config.allowed_request_origins 来解决它。所以我仔细检查了我的开发配置,没问题。
这就是为什么我想知道是否有针对 NGINX 配置的特定内容,而不是 ActionCable git 页面上解释的内容
bundle exec puma -p 28080 cable/config.ru
对于我的应用程序,我遵循了 enter link description here 中的所有内容,但没有提及 NGINX 配置
我知道带有 ActionCable 的 websocket 是相当新的,但我希望有人能够在这方面给我指导
非常感谢
【问题讨论】:
-
我正在尝试解决与此相关的我自己的问题,但我的 Rails 5 ActionCable 设置还需要设置
config/redis/cable.yml,以便将生产 url 设置为默认值以外的其他内容本地主机行。我正在使用 Heroku 进行生产,并且由于 ActionCable 使用 Redis,我将 Heroku-Redis 插件添加到我的应用程序中,并从我的 Heroku 环境变量中使用了ENV['REDIS_URL']。我通读了您的问题,并想我会提到除了您尝试过的之外我还必须做的事情。警告:生产仅适用于所有测试设备中的 2 台设备:( -
我刚刚发现了我的问题,但我花了很多时间。我遇到了很多问题(明天我会回答我的问题)。我也需要 config/redis/cable.yml 但我不知道如何在其中设置密码(我刚刚找到)。我已经读过使用 Heroku 进行配置并不容易,祝你好运;)
-
谢谢 :) 它总共适用于两个设备。除此之外,没有人可以连接到电缆。一旦我想通了,我会写一篇我认为的博客文章。 Rails 5 发布后,很多人都会尝试使用 Heroku
标签: nginx jelastic ruby-on-rails-5 actioncable