我有一个在Google Cloud Platform中的负载均衡器后面运行的应用程序。
当我在后端使用HTTPS协议时,我可以与WebSockets连接,并且所有WebSocket连接都可以正常工作。但是,当我将后端协议更改为HTTP / 2时,无法从应用程序连接,并且它返回502 Bad Gateway
的响应。
我可以将WebSocket与HTTP / 2一起使用,还是需要执行一些配置才能将WebSocket与HTTP2后端一起使用?
正如其他人所评论的,HTTP / 2不支持WebSocket,这就是您收到5XX错误的原因。
话虽如此,WebSocket功能可通过HTTP / 2 ref实现(并改进)。>>
如果您已有使用WebSocket的代码,则重写后端和前端可能都不是一件好事。
但是,如果要开发新的异步服务,最好查看一下HTTP / 2 +服务器发送事件(SSE)方案。