如何正确启动与Google Cloud Load Balancer的WebSocket连接以避免连接超时关闭?

时间:2018-07-25 20:39:57

标签: websocket socket.io google-cloud-platform

利用socket.io,我通过GCLB代理的WebSocket连接以后端服务配置中定义的间隔关闭:

timeout configuration

显然如图所示,解决方法是一个不切实际的长超时时间,但是为了正确起见,通过socket.io(或其他不是socket.io问题的地方)配置WebSocket连接的正确方法是什么?避免这些关闭?

根据GCLB日志关闭的原因是"backend_connection_closed_after_partial_response_sent"

如Cloud Load Balancer文档中所述,似乎我们需要发送适当的Upgrade响应才能使Load Balancer保持连接有效。

  

当HTTP(S)负载平衡识别到来自HTTP(S)客户端的WebSocket升级请求,并且该请求之后是来自后端实例的成功升级响应,则负载平衡器将代理双向流量在当前连接期间。如果后端未返回成功的升级响应,则负载均衡器将关闭连接。

https://cloud.google.com/load-balancing/docs/https/#websocket_proxy_support(强调我的意思)

这怎么办?

0 个答案:

没有答案