2

我正在尝试在 nginx 下运行我的应用程序(使用 socket.io),WebSocket connection to 'ws://...' failed: Unexpected response code: 502但在服务器端出现错误。我已经读过 nginx 支持 websockets ,v.1.3所以我刚刚升级到 nginx v1.4.1 (stable)

这是我的conf:

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)并且 socket.io 正在工作,除非这个错误,但在某些情况下,emit调用不发送任何参数,所以我得到undefined.

为了避免此错误,我在这里缺少什么?

4

1 回答 1

-1

我找到了避免此错误的方法:

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

所以socket.io现在做AJAX调用,它做的工作,但肯定要慢得多,所以如果有人知道这个问题的真正关键,我仍然很感兴趣!

于 2013-05-15T02:40:27.107 回答