我目前正在尝试使用 Rails 5.0.0.beta2 部署应用程序,但是当我在我的 javascript 控制台中加载应用程序时,我看到了
WebSocket 连接到“wss://example.com/cable”失败:WebSocket 握手期间出错:“Connection”标头值必须包含“Upgrade”
我使用 Apache/Passenger 作为 Web 服务器。
有没有其他人遇到过这个问题,如果有,你是如何解决的?
我目前正在尝试使用 Rails 5.0.0.beta2 部署应用程序,但是当我在我的 javascript 控制台中加载应用程序时,我看到了
WebSocket 连接到“wss://example.com/cable”失败:WebSocket 握手期间出错:“Connection”标头值必须包含“Upgrade”
我使用 Apache/Passenger 作为 Web 服务器。
有没有其他人遇到过这个问题,如果有,你是如何解决的?
网络服务器将需要升级 websocket 连接,以便连接可以持续。我猜这不是您看到的 jscript 错误。
如果您使用的是 Nginx,那么您将如何使用 Nginx 反向代理配置:AWS 上的 ActionCable:WebSocket 握手期间出错:意外响应代码: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";
}
还可以考虑使用 puma 代替乘客。