为什么我的 WebSockets 握手失败并显示 ERR_CONNECTION_RESET?

Why does my WebSockets handshake fail with ERR_CONNECTION_RESET?

我刚刚使用

创建了一个新的 sails.js 应用程序
sails new testProject

然后我做了

sails lift

现在我导航到我的地址 (http://153.92.xx.xxx:1337),一切正常。

但是,我知道 sails 默认使用 XHR,但如果可以的话会尝试升级到 WebSockets。无论我尝试什么,我都无法让 WebSockets 工作。

我可以看到该应用程序尝试连接,但在它放弃之前只是(等待)大约 18 秒。然后返回到 XHR。

错误为:

WebSocket connection to 'ws://153.92.xx.xxx:1337/socket.io/?__sails_io_sdk_version=0.11.0&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript&EIO=3&transport=websocket&sid=8qjNepcGV5Rh3VvzAAAA' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

我哪里做错了?

我认为这是因为 个人防火墙

  • 将端口从 1337 更改为 80 后一切正常。
  • 从另一台机器访问网站工作正常。

我最好的猜测是,如果 websockets 没有使用 "standard" 端口,我机器上的个人防火墙会阻止它们。