nginx 使用 http2 进行 nginx 通信,无需 ssl

nginx 使用 http2 进行 nginx 通信,无需 ssl

我有 nginx-proxy 和 nginx-server docker 容器。

client browser < > nginx-proxy是通过 proxy_pass 的 http2 和 443。

nginx-proxy < > nginx-server是 http1 并且我想将其移动到 http2 但不使用 SSL - 因为它们都在同一台服务器上,所以我看不到加密流量的好处。

我阅读了 nginx 文档,他们说它支持没有 ssl 的 http2。所以我80 http2;在 nginx-server vhost 中添加了 listen 指令。

但是,浏览器并没有显示网站,而是下载了以下内容的文件:

0000 1204 0000 0000 0000 0300 0000 8000
0400 0000 0000 0500 ffff ff00 0004 0800
0000 0000 7fff 0000 0000 0807 0000 0000
0000 0000 0000 0000 01

看起来非常像这个问题但我的不是browser <> nginx问题,而是nginx <> nginx问题。这不应该存在,因为文档说 nginx 支持没有 ssl 的 http2。

我如何让 nginx-proxy 了解后端 nginx-server 使用 http2......我猜这就是问题所在,因为十六进制转储显示:malformed packet

这个问题并称这是不可能的,而且不会实施。

答案1

这样做的好处微乎其微,因为同一台服务器上的软件之间的延迟非常低。鉴于这非常困难或不可能,我不会在这上面浪费时间。

相关内容