gpt4 book ai didi

node.js - websocket 无法在 ec2 上与 nginx 连接

转载 作者:行者123 更新时间:2023-12-05 08:00:20 25 4
gpt4 key购买 nike

我在 EC2 上运行 node.js 和 socket.io,使用 nginx v1.4.1

这是我的/etc/nginx/sites-available/default

map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}


server {
listen 80;

server_name mysite.com;

location / {
proxy_pass http://localhost:4321;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}

但是我得到与“ws://mysite.com/socket.io/1/websocket/nS7f2eI5jAZ-pIN_8fai”的 WebSocket 连接失败:意外响应代码:502

从 Node :

debug - setting request GET /socket.io/1/websocket/nS7f2eI5jAZ-pIN_8fai
debug - set heartbeat interval for client nS7f2eI5jAZ-pIN_8fai
warn - websocket connection invalid

然后它切换到 xhr-polling。

网上有那么多关于Nginx + websocket的指南,我已经完全按照了,但我不知道我哪里错了。

最佳答案

根据 Nginx documentation ,您可以在 nginx 配置文件中尝试以下操作。

   location /wsapp/ {
proxy_pass http://your-host:your-port/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

关于node.js - websocket 无法在 ec2 上与 nginx 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18336611/

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