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.

Рекомендуется использовать библиотеку SSL с поддержкой QUIC, такую как BoringSSL, LibreSSL или QuicTLS. В противном случае, при использовании библиотеки OpenSSL, будет использоваться совместимый с OpenSSL слой, который не поддерживает ранние данные.

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

Модуль находится в стадии разработки, используйте с осторожностью.

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

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';
        }
    }
}

Обратите внимание, что для приема соединений HTTP/3 по TLS требуется поддержка протокола TLSv1.3, доступная начиная с версии OpenSSL 1.1.1.

Директивы

Синтаксис: 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-2024 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