"response code: 502"使用 socket.io 和nginx 1.4.x(稳定版)和proxy_pass



我试图在nginx下运行我的应用程序(使用socket.io),我在服务器端得到一个WebSocket connection to 'ws://...' failed: Unexpected response code: 502错误。我读到nginx自v.1.3以来支持websockets,所以我只是升级到nginx v1.4.1 (stable)

下面是我的配置文件:

server {
       listen 80;
       server_name website.com;
        location / {
          proxy_pass    http://127.0.0.1:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          access_log    /var/log/nginx/website/access.log;
          error_log    /var/log/nginx/website/error.log;
        }
}
更新:

我不得不说我可以到达应用程序(所以我确实监听端口3000)和套接字。io正在工作,除非这个错误,但在某些情况下,emit调用不发送任何参数,所以我得到undefined

我在这里错过了什么来避免这个错误?

我已经找到了一些方法来避免这个错误:

io.set('transports', ['xhr-polling']);

所以插座。io现在做AJAX调用,它做的工作,但肯定的方式要慢得多,所以如果有人有这个问题的真正关键,我仍然非常感兴趣!

最新更新