Можно ли использовать mod_proxy
перед Apache Tomcat 8.5 с протоколом http2? Если да, то было бы неплохо увидеть пример конфигурации.
редактировать
В частности: возможно ли и рекомендуется ли использовать http2 между клиентом и сервером (Apache httpd
), и Продолжать поток данных с ajp
между Apache httpd
и Apache Tomcat
?
Редактировать 2
Этот ответ содержит некоторые подробности по теме:
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_http2
1 модуль, но он все еще экспериментальный.
Как подробно описано в ответе StackOverflow, представленном во втором редактировании, вы можете использовать mod_http2
для включения поддержки HTTP / 2.0 на стороне Apache и обратной связи с сервером Tomcat через HTTP / 1.1 или AJP. Но вы потеряете одну из самых больших возможностей HTTP / 2.0: мультиплексирование.