我试图让ngnix与NodeJS和Angular一起工作。此时,我能够访问 https://mypage/api(服务器API(和 https://mypage/(Angular(。但是,当我尝试使用 socket.io 登录时,我总是遇到">套接字连接超时错误"。我认为此错误是由于反向代理技术而发生的。我是否缺少任何配置文件?还是设置了错误的标题?
NGNIX 会议:
server {
listen 443 ssl;
all centificate letscrypt Stuff
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:4200/;
}
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3030/;
}
}
谢谢!
在你的位置/街区试试这个
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
当我配置相同时,这对我有帮助,但是我没有您遇到的相同问题。我的套接字连接正常,但出现握手错误,套接字将在轮询时回退。
我遇到了同样的问题,并解决了在位置/块中添加这些行的问题:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
但是,客户端应连接到服务器,不包括 http://(或 https:// 对于 SSL(协议,并且仅使用 server_name 或 IP 地址,或者通过指定 ws://(或 SSL wss://(协议。