场景与此 post 完全相同。但我需要一个 nginx 解决方案。我不会介绍 haproxy 或除此之外的任何附加服务。
最佳答案
Nginx 不支持 HTTP/2 中的后端连接,并且无意引入这一点(有关更多详细信息,请参阅我对 this question 的回答)。
因此,您唯一的选择是引入 haproxy 或其他一些 TCP 代理(而不是 HTTP 代理)、一些附加服务或从 Nginx 切换到 Apache(它确实支持与 mod_proxy_http2 的 HTTP/2 后端连接)。
为什么您觉得后端需要 HTTP/2?正如上面链接的同一答案中所详述的,HTTP/2 的大部分好处来自于前端的 HTTP/2。我认为将其放在后端的唯一真正原因是支持端到端 HTTP/2 服务器推送,但这对于多个 HTTP/2 连接来说确实很复杂,最好留到最后希望启动(请参阅here for discussion of this for Apache 这也与其他 Web 服务器(如 nginx)相关。
关于nginx - 从 h2 到 h2c 的反向代理 HTTP/2 - Nginx 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48569053/