Модуль Apache mod_proxy_http2
| Описание: | Модуль поддержки HTTP/2 для mod_proxy
|
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | proxy_http2_module |
| Исходный файл: | mod_proxy_http2.c |
| Совместимость: | Доступен в httpd 2.4.19 и более поздних версиях |
Общие сведения
mod_proxy_http2 поддерживает только HTTP/2 и не выполняет понижение версии до HTTP/1.1. Это означает, что серверная часть должна поддерживать HTTP/2, поскольку вместо него HTTP/1.1 использоваться не будет.
Для работы этого модуля требуется mod_proxy, поэтому для обработки проксируемых запросов HTTP/2 сервер должен загрузить и mod_proxy, и mod_proxy_http2.
mod_proxy_http2 работает с входящими запросами к фронтенду по HTTP/1.1 или HTTP/2. В обоих случаях запросы, проксируемые к одной и той же серверной части, по возможности отправляются через одно TCP-соединение (то есть когда соединение можно повторно использовать).
Обратите внимание: несколько запросов HTTP/1.1 к фронтенду (настроенных для проксирования к одной и той же серверной части) не объединяются в потоки HTTP/2, относящиеся к одному запросу HTTP/2. Каждый запрос HTTP/1.1 к фронтенду проксируется к серверной части как отдельный запрос HTTP/2 (с попыткой повторно использовать одно и то же TCP-соединение, если это возможно).
Для предоставления базового движка HTTP/2 этот модуль использует libnghttp2.
Предупреждение
Этот модуль является экспериментальным. Его поведение, директивы и значения по умолчанию могут изменяться от выпуска к выпуску чаще, чем у других стандартных модулей. Пользователям рекомендуется проверять файл «CHANGES» на наличие возможных обновлений.
Предупреждение
Не включайте проксирование, пока не обеспечите безопасность своего сервера. Открытые прокси-серверы опасны как для вашей сети, так и для Интернета в целом.
Простые примеры
В приведённых ниже примерах показано, как настроить HTTP/2 для соединений с серверной частью при использовании обратного прокси-сервера.
HTTP/2 (TLS)
ProxyPass "/app" "h2://app.example.com" ProxyPassReverse "/app" "https://app.example.com"
HTTP/2 (открытый текст)
ProxyPass "/app" "h2c://app.example.com" ProxyPassReverse "/app" "http://app.example.com"
Для настройки в ProxyPassReverse обратного проксирования протоколов h2 (или h2c) используются обычные схемы https (соответственно, http), ожидаемые/используемые пользовательским агентом.
Примечания к запросам
mod_proxy_http создаёт следующие примечания к запросам для ведения журнала с использованием формата %{VARNAME}n в LogFormat или ErrorLogFormat:
- proxy-source-port
- Локальный порт, используемый для соединения с серверной частью.
- proxy-status
- Статус HTTP/2, полученный от сервера серверной части.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_proxy_http2.html