我在我的nginx服务器上使用socket.io。 我按照nginx中的doc来配置我的服务器(http://nginx.com/blog/nginx-nodejs-websockets-socketio/):
location = / {
proxy_pass_header Server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
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_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://frontend;
proxy_intercept_errors on;
error_page 501 502 503 504 /50x.html;
}
upstream frontend {
server 127.0.0.1:7300;
}
但是我的浏览器仍然出现以下错误:
WebSocket connection to 'ws://<MY DOMAIN>/socket.io/?EIO=3&transport=websocket&sid=oway-6XKt7_HvqfQAAAC'
failed: Error during WebSocket handshake: Unexpected response code: 400
一切都在本地工作正常,所以我得到的问题来自我的nginx。
我应该改变什么来使其有效?
非常感谢