Rails 5 - WebSocket握手期间出错:'Connection'标头值必须包含'Upgrade'

时间:2016-02-10 16:09:22

标签: ruby-on-rails ruby websocket ruby-on-rails-5 actioncable

我目前正在尝试使用Rails 5.0.0.beta2部署应用程序但是当我在我的javascript控制台中加载应用程序时,我看到了

  

与'wss://example.com/cable'的WebSocket连接失败:WebSocket握手期间出错:'Connection'标头值必须包含'Upgrade'

我正在使用Apache / Passenger作为网络服务器。

还有其他人遇到过这个问题吗?如果有,你是怎么解决的?

1 个答案:

答案 0 :(得分:0)

网络服务器需要升级websocket连接,以便连接可以保持。我猜这不会发生在你看到的jscript错误中。

如果你在使用Nginx,那么你将如何使用Nginx反向代理配置:ActionCable on AWS: Error during WebSocket handshake: Unexpected response code: 404

这是关键部分:

      # enables WS support
      location /cable {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
      }

另外考虑使用美洲狮而不是乘客。