Можно ли использовать 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 без лишних хлопот и риска обновить все, чтобы получить полноценный end-to-end HTTP/2.
. По состоянию на июль 2017 года Apache mod_proxy
не поддерживает протокол HTTP / 2.0. Существует модуль mod_proxy_http2
1 , но он все еще экспериментальный.
Как подробно описано в ответе StackOverflow, представленном во втором редактировании, вы можете использовать mod_http2
для включения HTTP / 2.0 на стороне Apache и обратная связь с сервером Tomcat через HTTP / 1.1 или AJP. Но вы потеряете одну из важнейших функций HTTP / 2.0: мультиплексирование.