HTTP/2#
Обеспечивает поддержку HTTP/2.
При сборке из исходного кода модуль не собирается по умолчанию; его необходимо
включить с помощью параметра сборки
‑‑with‑http_v2_module
.
В пакетах и образах из
наших репозиториев
модуль включен в сборку.
Пример конфигурации#
server {
listen 443 ssl;
http2 on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
}
Важно
Чтобы принимать HTTP/2-соединения по TLS, необходимо наличие поддержки расширения "Application-Layer Protocol Negotiation" (ALPN) протокола TLS, появившейся в OpenSSL версии 1.0.2.
Если директива ssl_prefer_server_ciphers установлена в значение "on", шифры должны быть настроены таким образом, чтобы соответствовать черному списку RFC 9113, Appendix A а также поддерживаться клиентами.
Директивы#
http2#
Добавлено в версии 1.2.0.
Разрешает протокол HTTP/2.
http2_body_preread_size#
Задает размер буфера для каждого запроса, в который может сохраняться тело запроса до того, как оно начнет обрабатываться.
http2_chunk_size#
|
|
По умолчанию |
|
http, server, location |
Задает максимальный размер частей, на которое будет разделяться тело ответа. Слишком маленькое значение может привести к росту накладных расходов. Слишком большое значение может негативно сказаться на приоритизации из-за блокировки очереди.
http2_max_concurrent_pushes#
Устарело, начиная с версии 1.2.0.
|
|
По умолчанию |
|
http, server |
Ограничивает максимальное число параллельных push-запросов в соединении.
http2_max_concurrent_streams#
|
|
По умолчанию |
|
http, server |
Задает максимальное число параллельных HTTP/2-потоков в соединении.
http2_push#
Устарело, начиная с версии 1.2.0.
Заблаговременно отправляет (push) запрос к заданному uri вместе с ответом на оригинальный запрос. Будут обработаны только относительные URI с абсолютными путями, например:
http2_push /static/css/main.css;
В значении uri
допустимо использование переменных.
На одном уровне конфигурации можно указать несколько http2_push директив. Параметр off
отменяет действие унаследованных с предыдущего уровня конфигурации директив http2_push.
http2_push_preload#
Устарело, начиная с версии 1.2.0.
|
|
По умолчанию |
|
http, server, location |
Разрешает автоматическое преобразование preload links, указанных в полях "Link" заголовка ответа, в push-запросы.
http2_recv_buffer_size#
Задает размер входного буфера для рабочего процесса.
Встроенные переменные#
Модуль http_v2 поддерживает следующие встроенные переменные:
$http2
#
согласованный идентификатор протокола:
|
для HTTP/2 через TLS |
|
для HTTP/2 через незашифрованный TCP |
|
пустая строка для остальных случаев |