Spec-Zone.ru › nginx

Модуль ngx_http_v3_module

  • Известные проблемы
  • Пример конфигурации
  • Директивы
  • http3
  • http3_hq
  • http3_max_concurrent_streams
  • http3_stream_buffer_size
  • quic_active_connection_id_limit
  • quic_bpf
  • quic_gso
  • quic_host_key
  • quic_retry
  • Встроенные переменные

Модуль ngx_http_v3_module (1.25.0) обеспечивает экспериментальную поддержку HTTP/3.

Этот модуль не собирается по умолчанию; для его включения следует использовать параметр конфигурации --with-http_v3_module.

Для этого модуля требуется библиотека OpenSSL версии 1.1.1 или выше.
Для поддержки 0-RTT требуется библиотека OpenSSL версии 3.5.1 или выше. Кроме того, для сборки и запуска этого модуля можно использовать библиотеки BoringSSL, LibreSSL или QuicTLS.

Известные проблемы

Модуль является экспериментальным: используйте его на свой страх и риск.

До версии 1.29.1 поддержку 0-RTT нельзя было включить с OpenSSL независимо от значения директивы ssl_early_data.

Модуль нельзя собрать на платформе Win32.

Пример конфигурации

http {
    log_format quic '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent" "$http3"';

    access_log logs/access.log quic;

    server {
        # for better compatibility it's recommended
        # to use the same port for http/3 and https
        listen 8443 quic reuseport;
        listen 8443 ssl;

        ssl_certificate     certs/example.com.crt;
        ssl_certificate_key certs/example.com.key;

        location / {
            # used to advertise the availability of HTTP/3
            add_header Alt-Svc 'h3=":8443"; ma=86400';
        }
    }
}

Директивы

Синтаксис: http3 on | off;
По умолчанию: http3 on;
Контекст: http, server

Включает согласование протокола HTTP/3.

Синтаксис: http3_hq on | off;
По умолчанию: http3_hq off;
Контекст: http, server

Включает согласование протокола HTTP/0.9, используемого в тестах совместимости QUIC.

Синтаксис: http3_max_concurrent_streams number;
По умолчанию: http3_max_concurrent_streams 128;
Контекст: http, server

Задаёт максимальное количество одновременно открытых потоков запросов HTTP/3 в соединении.

Синтаксис: http3_stream_buffer_size size;
По умолчанию: http3_stream_buffer_size 64k;
Контекст: http, server

Задаёт размер буфера для чтения и записи потоков QUIC.

Синтаксис: quic_active_connection_id_limit number;
По умолчанию: quic_active_connection_id_limit 2;
Контекст: http, server

Задаёт значение транспортного параметра QUIC active_connection_id_limit. Это максимальное количество идентификаторов соединений клиента, которые могут храниться на сервере.

Синтаксис: quic_bpf on | off;
По умолчанию: quic_bpf off;
Контекст: main

Включает маршрутизацию пакетов QUIC с помощью eBPF. При включении эта функция позволяет поддерживать миграцию соединений QUIC.

Директива поддерживается только в Linux 5.7 и выше.
Синтаксис: quic_gso on | off;
По умолчанию: quic_gso off;
Контекст: http, server

Включает отправку оптимизированными пакетами с использованием аппаратной сегментации.

Оптимизированная отправка поддерживается только в Linux с UDP_SEGMENT.
Синтаксис: quic_host_key file;
По умолчанию: —
Контекст: http, server

Задаёт file с секретным ключом, используемым для шифрования токенов сброса без сохранения состояния и проверки адреса. По умолчанию при каждой перезагрузке генерируется случайный ключ. Токены, созданные со старыми ключами, не принимаются.

Синтаксис: quic_retry on | off;
По умолчанию: quic_retry off;
Контекст: http, server

Включает функцию проверки адреса QUIC. Она предусматривает отправку нового токена в пакете Retry или кадре NEW_TOKEN, а также проверку токена, полученного в пакете Initial.

Встроенные переменные

Модуль ngx_http_v3_module поддерживает следующие встроенные переменные:

$http3
идентификатор согласованного протокола: «h3» для соединений HTTP/3, «hq» для соединений hq или пустая строка в остальных случаях.

© 2002-2021 Igor Sysoev
© 2011-2026 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_v3_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API