Sam*_*lin 0 google-compute-engine
我刚刚添加了一个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负载均衡器是问题.
截至今天(2015年7月),GCP的HTTP LB和AWS的ELB不支持Websockets.
GCP的解决方法是使用网络负载均衡器(https://cloud.google.com/compute/docs/load-balancing/network/).
ELB的解决方法是使用TCP/SSL而不是HTTP/HTTPS.
| 归档时间: |
|
| 查看次数: |
1302 次 |
| 最近记录: |