Поддержка Tomcat для HTTP / 2.0?
кто-нибудь знает, какая самая низкая версия Tomcat поддерживает HTTP/2.0? Я искал везде на их сайте, и я не могу найти никаких деталей относительно этого.
3 ответов
Я-разработчик HTTP/2 в Jetty, и я наблюдаю за другими проектами, реализующими HTTP/2.
У кота Марка Томаса описанная поддержка HTTP / 2 для Tomcat 9.
Обновление Января 2017: Tomcat 8.5 поддерживает HTTP / 2 см. @joe-aldrich answer https://stackoverflow.com/a/37889873/2027465
учитывая, что сервлет 4.0 будет иметь в качестве целевой поддержки HTTP / 2, и что поддержка HTTP/2 требует поддержки ALPN в JDK (в котором я также участвую), и что поддержка ALPN в JDK запланирована для JDK 9, вероятно, пройдет много времени, прежде чем все это материализуется.
однако имейте в виду, что другие контейнеры сервлетов уже предоставляют поддержку HTTP/2.
причал 9.3.0 имеет полную, надежную, поддержка HTTP/2 клиент и сервер. Мы запускаем HTTP / 2 на нашем собственном веб-сайте уже много месяцев, и мы рассматриваем производство поддержки HTTP / 2 готовый. Интерфейсы HTTP/2 Push API Jetty рассматриваются для включения в Servlet 4.0. HTTP / 2 Push уже доступен для приложений, развернутых на причале прозрачным способом (через фильтр сервлетов).
откат также имеет реализацию для HTTP/2.
Нетти также имеет один, но он не основан на API сервлета.
последняя версия Tomcat (версия 9) полностью поддерживает HTTP / 2. Однако, поскольку все основные браузеры реализуют только HTTP / 2 через TLS вам нужно будет настроить Tomcat, чтобы разрешить это. Эта статья объясняет конфигурация TLS в Tomcat, но вот в резюме.
открыть conf/server.xml
file и внесите следующие изменения в конфигурацию.
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true">
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>
<SSLHostConfig honorCipherOrder="false">
<Certificate certificateKeyFile="conf/ca.key"
certificateFile="conf/ca.crt"/>
</SSLHostConfig>
</Connector>