快递 socket.io 在 websocket 上出现错误 404

Express socket.io erroring 404 on websockets

本文关键字:错误 websocket socket io 快递      更新时间:2023-09-26

我在我的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

--

示例请求 --

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

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

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

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