Meteor:WebSocket握手期间出错:意外的响应代码:400

时间:2015-06-04 13:13:12

标签: node.js meteor websocket

错误的可能原因可能是什么Error during WebSocket handshake: Unexpected response code: 400

该应用程序托管在ubuntu上,并使用npm mup包进行部署。我在mup.json中包含了我的捆绑的ssl pem文件。

我还需要在服务器上配置其他任何内容吗?

2 个答案:

答案 0 :(得分:2)

这可能是由以下三个原因之一引起的:

  1. 某些ISP可能会使用不支持websockets的代理。这在3G网络上更为明显

  2. 如果您的应用已崩溃。 Meteor试图连接到服务器,因为它不在线。

  3. 如果Nginx未配置为使用WebSockets,并且您的MUP实例位于WebSocket后面,也会发生这种情况。

  4. 因此,如果您的应用按预期工作(可能只需要花费太长时间才能连接)&在开发控制台中出现此错误可能是由于代理服务器造成的。为避免这种情况,请尝试在服务器上安装SSL(https://)。这样ISP或代理就无法改变您应用的连接。

答案 1 :(得分:0)

当我通过酒店WiFi连接时出现此错误。问题是你总是通过他们的代理连接到互联网。

我的解决方案是将手机用作Wifi热点。我有Android 6.0.1,您可以通过以下方式访问菜单:

Settings > More > Tethering & portable hotspot > Set up Wi-Fi hotspot (and then enable 'Portable Wi-Fi hotspot')