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