使用不带ssl的http2进行nginx通信的nginx


10

我有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

此问题指出,这是不可能的,将不会实现。

Answers:


2

这样做的好处是微不足道的,因为同一台服务器上的软件之间的延迟非常低。考虑到这是非常困难的还是不可能的,我不会花您的时间在此上。


我发现这也是不可能的。

2
为什么不可能呢?大多数网络浏览器当前不支持不带SSL的HTTP / 2,但希望最终某些浏览器至少可以使用第三方插件。HTTP / 2的速度而没有SSL的开销将是一个不错的选择。
2016年

对于那些试图直接与NGINX争执的人....您误解了HTTP2的含义及其有用性...在OP场景中,情况将会更糟... serverfault.com/questions/765258/ … 因此,对于那些拒绝投票或与不可能的答案作斗争的人,这实际上是正确的答案。因此,总的来说,这只是一个很好的问题。
ZaxLofful
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.