【问题标题】:Express socket.io erroring 404 on websockets在 websockets 上 Express socket.io 错误 404
【发布时间】:2015-01-28 11:47:24
【问题描述】:

我在我的 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,所以我真的不知道从哪里开始寻找,以前有没有人遇到过这个问题,或者可以指出可能导致此问题的起始方向?

【问题讨论】:

  • 我猜是因为代理

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 2012-07-24
    • 2018-06-20
    • 1970-01-01
    • 2017-09-27
    • 2015-05-25
    • 2014-08-03
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多