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ディレクティブに追加しました。

ただし、ブラウザはWebサイトを表示する代わりに、次の内容のファイルをダウンロードします。

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-serverがhttp2を話すことをnginx-proxyに理解させるにはどうすればよいですか。16進ダンプが言うので、それが問題だと思いますmalformed packet

この問題は、それが不可能であり、実装されないことを示しています。

回答:


2

同じサーバー上のソフトウェア間のレイテンシは非常に低いため、これを実行するメリットは最小限になります。それが非常に難しいか不可能であることを考えると、これにあなたの時間を費やすことはありません。


私が知ったようにそれもまた不可能です。

2
なぜそれは不可能ですか?現在、ほとんどのWebブラウザーはSSLなしのHTTP / 2をサポートしていませんが、少なくともサードパーティのプラグインを使用すれば、最終的に一部がサポートされることが期待されます。SSLのオーバーヘッドのないHTTP / 2の速度は、オプションとして提供するのに最適です。
2016

NGINX自身から直接、この人を論じようとしている人にとって... HTTP2の意味とその有用性を誤って解釈している... OPシナリオでは、それはさらに悪化します... serverfault.com/questions/765258/ … つまり、この答えに投票するか、不可能の答えと戦っている人にとって、それは実際に正しい答えです。だから、オールインオールは、良い質問を投げ出すだけです。
ZaxLofful
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.