在websockets上表示socket.io错误404

时间:2015-01-28 11:47:25

标签: javascript node.js express websocket socket.io

我在express.js应用程序中使用socket.io但是在尝试通过websockets传输时,它仍然从我们的UAT服务器返回404。

值得注意的是,在我的本地服务器上一切正常,所以我认为它是UAT上的某种配置。

这是实际错误: WebSocket connection to 'ws://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=websocket&sid=eUtgUXweLDzSblrjAAE8' failed: Error during WebSocket handshake: Unexpected response code: 400

- 示例请求 -

请求网址ws://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=websocket&sid=AssKCIfT3vTVwmHcAAE4 - 失败

请求网址http://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=polling&t=1422444487679-3&sid=AssKCIfT3vTVwmHcAAE4 - 成功

我对websockets不太好,所以我真的不知道从哪里开始寻找,有没有人遇到过这个问题,或者可以指出我可能导致这个问题的起始方向?

1 个答案:

答案 0 :(得分:1)

尝试访问负载均衡器后面的websockets时遇到了同样的问题。您的UAT环境是否使用任何负载平衡?我使用AWS ELB并且必须将我的平衡器从HTTP更改为TCP,因为Web套接字在TCP上进行通信,HTTP侦听器无法路由请求。