Mercurial > hg > nginx-site
view xml/ru/docs/http/ngx_http_v3_module.xml @ 3099:9cfda14d0109 default tip
freenginx-1.27.4
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 03 Sep 2024 13:15:18 +0300 |
parents | 8b8f94802f41 |
children |
line wrap: on
line source
<?xml version="1.0"?> <!-- Copyright (C) Nginx, Inc. --> <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> <module name="Модуль ngx_http_v3_module" link="/ru/docs/http/ngx_http_v3_module.html" lang="ru" rev="2"> <section id="summary"> <para> Модуль <literal>ngx_http_v3_module</literal> (1.25.0) обеспечивает экспериментальную поддержку <link url="https://datatracker.ietf.org/doc/html/rfc9114">HTTP/3</link>. </para> <para> По умолчанию этот модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра <link doc="../configure.xml" id="http_v3_module"><literal>--with-http_v3_module</literal></link>. <note> Для сборки и работы этого модуля рекомендуется использовать библиотеку SSL с поддержкой QUIC, например <link url="https://boringssl.googlesource.com/boringssl">BoringSSL</link>, <link url="https://www.libressl.org">LibreSSL</link>, <link url="https://github.com/quictls/openssl">QuicTLS</link>. Иначе, при использовании библиотеки <link url="https://openssl.org">OpenSSL</link>, будет использоваться OpenSSL compatibility layer, в котором не поддерживается <link doc="ngx_http_ssl_module.xml" id="ssl_early_data">early data</link>. </note> </para> </section> <section id="issues" name="Известные проблемы"> <para> Модуль экспериментальный, поэтому возможно всё. </para> </section> <section id="example" name="Пример конфигурации"> <para> <example> 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 { # для лучшей совместимости рекомендуется # использовать одинаковый порт для http/3 и https listen 8443 quic reuseport; listen 8443 ssl; ssl_certificate certs/example.com.crt; ssl_certificate_key certs/example.com.key; location / { # используется для объявления о поддержке http/3 add_header Alt-Svc 'h3=":8443"; ma=86400'; } } } </example> Чтобы принимать HTTP/3-соединения по TLS, необходимо наличие поддержки протокола TLSv1.3, появившейся в <link url="http://www.openssl.org">OpenSSL</link> версии 1.1.1. </para> </section> <section id="directives" name="Директивы"> <directive name="http3"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>on</default> <context>http</context> <context>server</context> <para> Разрешает согласование протокола <link url="https://datatracker.ietf.org/doc/html/rfc9114">HTTP/3</link>. </para> </directive> <directive name="http3_hq"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default> <context>http</context> <context>server</context> <para> Разрешает согласование протокола HTTP/0.9, используемого в <link url="https://github.com/marten-seemann/quic-interop-runner">функциональных тестах QUIC</link>. </para> </directive> <directive name="http3_max_concurrent_streams"> <syntax><value>число</value></syntax> <default>128</default> <context>http</context> <context>server</context> <para> Задаёт максимальное число параллельных HTTP/3-потоков в соединении. </para> </directive> <directive name="http3_stream_buffer_size"> <syntax><value>размер</value></syntax> <default>64k</default> <context>http</context> <context>server</context> <para> Задаёт размер буфера, используемого для чтения и записи QUIC-потоков. </para> </directive> <directive name="quic_active_connection_id_limit"> <syntax><value>число</value></syntax> <default>2</default> <context>http</context> <context>server</context> <para> Устанавливает значение транспортного параметра QUIC <literal>active_connection_id_limit</literal>. Это максимальное значение ID соединений, возможное для хранения на сервере. </para> </directive> <directive name="quic_bpf"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default> <context>main</context> <para> Разрешает маршрутизацию пакетов QUIC при помощи <link url="https://ebpf.io/">eBPF</link>. Если маршрутизация включена, то обеспечивается поддержка миграции QUIC-соединений. </para> <para> <note> Директива поддерживается только на Linux 5.7+. </note> </para> </directive> <directive name="quic_gso"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default> <context>http</context> <context>server</context> <para> Разрешает отправку оптимизированного пакетного режима при помощи segmentation offloading. </para> <para> <note> Оптимизированная отправка поддерживается только на Linux с поддержкой <literal>UDP_SEGMENT</literal>. </note> </para> </directive> <directive name="quic_host_key"> <syntax><value>файл</value></syntax> <default/> <context>http</context> <context>server</context> <para> Задаёт <value>файл</value> с секретным ключом, применяемым при шифровании stateless reset и address validation токенов. По умолчанию создаётся случайный ключ при каждой перезагрузке. Токены, созданные при помощи старых ключей, не принимаются. </para> </directive> <directive name="quic_retry"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default> <context>http</context> <context>server</context> <para> Разрешает функциональность <link url="https://datatracker.ietf.org/doc/html/rfc9000#name-address-validation">QUIC Address Validation</link>, в том числе отправку нового токена в <literal>Retry</literal>-пакете или <literal>NEW_TOKEN</literal> frame и валидацию токена, полученного в <literal>Initial</literal>-пакете. </para> </directive> </section> <section id="variables" name="Встроенные переменные"> <para> Модуль <literal>ngx_http_v3_module</literal> поддерживает следующие встроенные переменные: <list type="tag" compact="no"> <tag-name id="var_http3"><var>$http3</var></tag-name> <tag-desc> согласованный идентификатор протокола: “<literal>h3</literal>” для HTTP/3-соединений, “<literal>hq</literal>” для hq-соединений, либо пустая строка. </tag-desc> </list> </para> </section> </module>