nginx - 从 h2 到 h2c 的反向代理 HTTP/2 - Nginx 解决方案

标签 nginx http2

场景与此 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/

相关文章:

http - 是否可以在 Go 中将代理/ socks 与 http2 客户端一起使用?

cakephp - nginx 正在从一个虚拟主机重定向到另一个

linux - 在 Redhat Linux 2.6.32 上使用带有 HTTP/2 的 Tomcat 的损坏页面

HTTP/2 推送 promise 行为

php - Nginx + php7.0-fpm = 空白页面

cross-domain - 是否可以进行 Http2 跨域推送请求?

http2 - 关于 http/2 的文章中有关双向和全双工的混淆

docker - 无法访问 rewrite_by_lua_block 中的 ngx.var

c - 使用 NGINX 运行 C FastCGI 脚本

python - 可从 Flask 服务器访问多个后端服务器