web-dev-qa-db-ja.com

Tomcat8でのHTTP / 2サポート

調査したところ、TomcatでHTTP/2サポートに関するリソースが見つからなかったことに驚きました。 8.0の変更ログは、SPDYの実験的なサポートを示しており、wikiはサポートされている仕様としてHTTP/2を参照しています( http://wiki.Apache.org/Tomcat/Specifications )が、チュートリアルが見つかりませんその上に。

TomcatでHTTP/2を有効にすることがすでに可能かどうか知っていますか?答えが「はい」の場合、どうすればそれができますか?

19
Guillaume D.

TomcatはまだHTTP/2をサポートしていません。

HTTP/2のサポートは、Tomcat9以降で計画されています。以前のバージョンにバックポートされる可能性があります。

実験的なSPDYサポートはまさにそれでした:実験的。ブラウザが特定のバージョンのSPDYをサポートしている間は機能しましたが、現在、Tomcatによって実装されているバージョンのSDPYをサポートしているブラウザはありません。

SPDYの実験的なサポートは、Tomcat 8.0.22から削除されました。これは、 changelog に記載されています。

21
Mark Thomas

Tomcat 8.5は、Tomcat 9からバックポートされた機能とともにリリースされ、HTTP/2サポートが含まれています。

個人的にはTomcat8.5でHTTP/2をセットアップする機会がまだないので、「ハウツー」についてコメントすることはできません。

10
Joe Aldrich

HTTP/2サポートTomcatで利用可能になりました。 Tomcat-8.5はHTTP/2をサポートします。 Tomcat-8.5以降でHTTP/2を有効にするには、ファイルserver.xmlのコネクタプロトコルをアップグレードする必要があります。 Tomcatconfフォルダー。

<Connector ... >
  <UpgradeProtocol className="org.Apache.coyote.http2.Http2Protocol" />
</Connector>

また、このコネクタを使用するには、SSL証明書の構成を設定する必要があります。

7
Dhumil Agarwal

tomcat8.5.xのhttp2を有効にするには、

@Bean
       public EmbeddedServletContainerCustomizer tomcatCustomizer() {
        return container -> {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                ((TomcatEmbeddedServletContainerFactory) container).addConnectorCustomizers((connector) -> {
                    connector.addUpgradeProtocol(new Http2Protocol());
                });
            }
        };
    }
1
sapna