Назад | Перейти на главную страницу

Apache mod_proxy с Tomcat 8.5 с использованием http2

Можно ли использовать mod_proxy перед Apache Tomcat 8.5 с протоколом http2? Если да, то было бы неплохо увидеть пример конфигурации.

редактировать

В частности: возможно ли и рекомендуется ли использовать http2 между клиентом и сервером (Apache httpd), и Продолжать поток данных с ajp между Apache httpd и Apache Tomcat?

Редактировать 2

Этот ответ содержит некоторые подробности по теме:

https://stackoverflow.com/questions/35697681/can-we-use-apache-to-deliver-http-2-connection-for-a-java-application-server

Apache httpd добавил поддержку прокси HTTP / 2 из 2.4.21, но предлагаю вам запустить последнюю версию (2.4.27 на момент написания), поскольку этот модуль все еще немного меняется.

Tomcat только что добавил поддержку HTTP / 2 в Tomcat 9: https://readlearncode.com/configure-tomcat-9-for-http2/

Так что теоретически все это должно хорошо сочетаться, если вы хотите обновиться до этих версий (и установить OpenSSL 1.0.2 или выше, необходимый для HTTP / 2).

Однако на практике это все еще очень новое, поэтому возможны ошибки. Честно говоря, наибольший выигрыш от HTTP / 2 дает соединения с большей задержкой, такие как клиент-сервер. Межсерверные соединения, такие как Apache и Tomcat с использованием mod_proxy, принесут меньше пользы.

Итак, учитывая, насколько они новы, вы можете просто использовать HTTP / 2 на своем веб-сервере Apache (или любом другом веб-сервере, поддерживающем HTTP / 2) и использовать mod_proxy для подключения к Tomcat через HTTP / 1.1 или AJP. Это даст вам большую часть прироста производительности HTTP / 2 без хлопот и риска обновления всего, чтобы получить полный сквозной HTTP / 2.

По состоянию на июль 2017 г. mod_proxy не поддерживает протокол HTTP / 2.0. Eсть mod_proxy_http21 модуль, но он все еще экспериментальный.

Как подробно описано в ответе StackOverflow, представленном во втором редактировании, вы можете использовать mod_http2 для включения поддержки HTTP / 2.0 на стороне Apache и обратной связи с сервером Tomcat через HTTP / 1.1 или AJP. Но вы потеряете одну из самых больших возможностей HTTP / 2.0: мультиплексирование.