我刚刚添加了一个HTTP负载均衡器,指向运行Tornado Web服务器的几个Google Compute Engine实例.特别是,他们正在处理websockets.
当我通过负载均衡器(在Chrome中)访问带有嵌入式websocket的页面时,我得到:
Error during WebSocket handshake: Unexpected response code: 400
Run Code Online (Sandbox Code Playgroud)
这是通过DNS以及达到负载均衡器的IP.
但是,当我点击一个单独的实例时,我能够成功握手websocket.
当我通过负载均衡器获取页面时,我没有在Web服务器中看到任何400个日志,这进一步表明它是负载平衡器,没有让它通过.
我可以做些什么来允许HTTP'升级'?或者这在云平台HTTP负载均衡器中是不可能的.
编辑:我也可以通过'网络负载均衡器'握手websocket,所以所有迹象都指向HTTP负载均衡器是问题.