出现Error during WebSocket handshake: Unexpected response code: 400
错误的可能原因是什么?
该应用程序托管在ubuntu上,并使用npm mup
包部署。我将绑定的ssl pem文件包含在mup.json中。
我还需要在服务器上配置什么吗?
这可能由以下三个原因之一引起:
-
一些isp可能使用不支持websockets的代理。这在3G网络中更为明显
-
如果你的应用程序崩溃了。
-
如果Nginx没有配置使用WebSocket,而你的MUP实例位于WebSocket后面,也会发生这种情况。
所以如果你的应用程序工作如预期(可能只是需要太长时间连接)&在开发控制台有这个错误,很可能是由于代理服务器。为了避免这种情况,请尝试在服务器上安装SSL (https://))。这样ISP或代理就不能改变你的应用程序的连接。
当我通过酒店WiFi连接时出现此错误。问题是你总是通过他们的代理连接到互联网。
我的解决方案是使用我的手机作为Wifi热点。我用的是安卓6.0.1,你可以通过以下方式访问菜单:
Settings > More > Tethering & portable hotspot > Set up Wi-Fi hotspot (and then enable 'Portable Wi-Fi hotspot')