【问题标题】:ActionCable - Puma - Nginx - SSLActionCable - Puma - Nginx - SSL
【发布时间】:2021-03-09 17:48:14
【问题描述】:

我对 ActionCable 完全陌生...尝试在 Rails 6.0 应用程序(Nginx + Puma)上设置 Action cable。我还不得不说我的环境是在云端 (DigitalOcean.com),那就是 SSL。

我的配置/cable.yml:

development:
  adapter: redis
  url: redis://localhost:6379

我的 config/environments/development.rb :我刚刚添加了这些行

config.action_cable.allowed_request_origins = ["https://my.url.com/"]
config.action_cable.url = "ws://localhost:3000/cable"

当然:my.url.com 是我的域名。

我收到此错误:

WebSocket connection to 'wss://my.url.com/cable' failed: WebSocket is closed before the connection is established.

有人有想法吗?

非常感谢:-)

【问题讨论】:

  • 曾经得到这个答案吗?我在同一条船上

标签: ruby-on-rails nginx redis puma actioncable


【解决方案1】:

在你的 nginx 配置文件中添加一个 location 块。

location /cable {
 proxy_pass http://puma_app;
 proxy_http_version 1.1;
 proxy_set_header X-Forwarded-Proto https;
 proxy_set_header X-Forwarded-Ssl on;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";

}

puma_app 替换为您的上游名称。

【讨论】:

    猜你喜欢
    • 2019-07-05
    • 2017-01-10
    • 2016-04-13
    • 2018-07-29
    • 2019-07-27
    • 2021-08-14
    • 2017-11-08
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多