0

我有一个应用程序在 Google Cloud Platform 的负载均衡器后面运行。

当我在后端使用 HTTPS 协议时,我能够与 WebSockets 连接,并且所有 WebSocket 连接都可以正常工作。但是,当我将后端协议更改为 HTTP/2 时,我无法从应用程序连接,它返回的响应为502 Bad Gateway.

我可以将 WebSockets 与 HTTP/2 一起使用,还是需要执行一些配置才能将 WebSockets 与 HTTP2 后端一起使用?

4

1 回答 1

0

正如其他人评论的那样,HTTP/2 不支持 WebSocket,这就是您收到 5XX 错误的原因。

话虽如此,使用 HTTP/2 ref可以实现(并改进)WebSocket 功能。

如果您有使用 WebSocket 的现有代码,那么重写后端和前端可能不是很好。

但是,如果您正在开发一个新的异步服务,那么看看 HTTP/2 + Server Sent Event (SSE) 方案是个好主意。

于 2020-01-09T10:25:30.547 回答