Подтвердить что ты не робот

Поддержка HTTP/2 в Tomcat 8

После некоторых исследований я был удивлен тем, что я не нашел никакого ресурса в поддержке HTTP/2 в Tomcat. Список изменений 8.0 указывает на экспериментальную поддержку SPDY, а wiki ссылается на HTTP/2 в качестве поддерживаемой спецификации (http://wiki.apache.org/tomcat/Specifications), но я не найти любой учебник по нему.

Знаете ли вы, возможно ли включить HTTP/2 на Tomcat? Если да, то как я могу это сделать?

4b9b3361

Ответ 1

Tomcat еще не поддерживает HTTP/2.

Поддержка HTTP/2 запланирована для Tomcat 9 и далее. Он может вернуться к предыдущим версиям.

Экспериментальная поддержка SPDY была такой: экспериментальной. Он работал, в то время как браузеры поддерживали конкретную версию SPDY, но ни один браузер не поддерживает версию SDPY, реализованную Tomcat.

Эта экспериментальная поддержка SPDY была удалена из Tomcat 8.0.22, отмеченной в changelog.

Ответ 2

Tomcat 8.5 был выпущен с функциями, перенесенными с Tomcat 9, и включает поддержку HTTP/2.

У меня лично не было возможности установить HTTP/2 на Tomcat 8.5, поэтому я не могу прокомментировать "как".

Ответ 3

Поддержка HTTP/2 теперь доступна в Tomcat. Tomcat-8.5 поддерживает HTTP/2. Чтобы включить HTTP/2 в tomcat-8.5 или выше, вам необходимо обновить протокол соединителя в файле server.xml в папке tomcat conf.

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

Вам также необходимо настроить конфигурацию своих сертификатов SSL для работы с этим соединителем.

Ответ 4

чтобы включить http2 для tomcat8.5.x,

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