gpt4 book ai didi

ssl - 使用 ELB 和 nginx 的 wss 的 ActionCable 404 错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:49 25 4
gpt4 key购买 nike

当我将我的网站切换到 https 时,我收到 actioncable 的错误:

与“wss://domain.com/cable”的 WebSocket 连接失败:错误
WebSocket 握手:意外的响应代码:404

https 站点工作正常,但我的 websocket 地址收到 404。我当前的设置是 SSL 在 ELB 处终止,nginx 将 http 重定向到 https。我将 actioncable 与我的铁路服务器一起运行,而不是独立运行。

我将如何在 中设置安全的 websockets?

这是我的 nginx 配置文件

upstream puma {
server unix://var/run/server.sock;
}

server {
listen 80;
server_name default_server;

root /var/www/apps/server/public;

location /cable {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_pass http://puma;
}

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_next_upstream error;

if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$host$1 permanent;
}

proxy_pass http://puma;

...

}

这是ELB上的配置:

ELB Listeners

最佳答案

在我的设置中修复了类似的错误(404 in actioncable/cable)

location /cable {
proxy_pass http://unix:/home/app/shared/tmp/puma/socket;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}

所以添加与您在其他位置(X-Real-IP 等)中相同的 proxy_set_header

关于ssl - 使用 ELB 和 nginx 的 wss 的 ActionCable 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43332285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com