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-delivery-http-2-connection-for-a-java-application-server

3
задан 23 May 2017 в 15:41
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.

.
5
ответ дан 3 December 2019 в 05:23

По состоянию на июль 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: мультиплексирование.

1
ответ дан 3 December 2019 в 05:23

Теги

Похожие вопросы