view xml/ru/docs/http/ngx_http_v2_module.xml @ 1670:e28e4e0b8520

Revised http2 module translation.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 31 Mar 2016 09:07:35 +0300
parents beab8345acf6
children 5154b356a1b2
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">

<module name="Модуль ngx_http_v2_module"
        link="/ru/docs/http/ngx_http_v2_module.html"
        lang="ru"
        rev="5">

<section id="summary">

<para>
Модуль <literal>ngx_http_v2_module</literal> (1.9.5) обеспечивает
поддержку <link url="https://tools.ietf.org/html/rfc7540">HTTP/2</link>
и заменяет
модуль <link doc="ngx_http_spdy_module.xml">ngx_http_spdy_module</link>.
</para>

<para>
По умолчанию этот модуль не собирается, его сборку необходимо разрешить
с помощью конфигурационного параметра
<literal>--with-http_v2_module</literal>.
</para>

</section>


<section id="issues" name="Известные проблемы">

<para>
Модуль экспериментальный, поэтому возможно всё.
</para>

<para>
Буферизация тела запроса клиента не может быть запрещена
независимо от
значения директив
<link doc="ngx_http_proxy_module.xml" id="proxy_request_buffering"/>,
<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_request_buffering"/>,
<link doc="ngx_http_uwsgi_module.xml" id="uwsgi_request_buffering"/> и
<link doc="ngx_http_scgi_module.xml" id="scgi_request_buffering"/>.
</para>

</section>


<section id="example" name="Пример конфигурации">

<para>
<example>
server {
    listen 443 ssl http2;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
}
</example>
Чтобы принимать HTTP/2-соединения по TLS необходимо
наличие поддержки расширения “Application-Layer Protocol Negotiation” (ALPN)
протокола TLS, появившейся лишь в
<link url="http://www.openssl.org">OpenSSL</link> версии 1.0.2.
Работа расширения “Next Protocol Negotiation” (NPN) протокола TLS
(поддерживаемого начиная с OpenSSL версии 1.0.1) в данном случае не гарантируется.
</para>

<para>
Если
директива <link doc="ngx_http_ssl_module.xml" id="ssl_prefer_server_ciphers"/>
установлена в значение “<literal>on</literal>”,
<link doc="ngx_http_ssl_module.xml" id="ssl_ciphers">шифры</link>
должны быть настроены таким образом, чтобы соответствовать чёрному списку
<link url="https://tools.ietf.org/html/rfc7540#appendix-A">RFC 7540, Appendix A</link>,
а также поддерживаться клиентами.
</para>

</section>


<section id="directives" name="Директивы">

<directive name="http2_chunk_size">
<syntax><value>размер</value></syntax>
<default>8k</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт максимальный размер частей,
на которое будет разделяться тело ответа.
Слишком маленькое значение может привести к росту накладных расходов.
Слишком большое значение может негативно сказаться на приоритизации из-за
<link url="http://en.wikipedia.org/wiki/Head-of-line_blocking">
блокировки очереди</link>.
</para>

</directive>


<directive name="http2_idle_timeout">
<syntax><value>время</value></syntax>
<default>3m</default>
<context>http</context>
<context>server</context>

<para>
Задаёт таймаут неактивности, после которого соединение закрывается.
</para>

</directive>


<directive name="http2_max_concurrent_streams">
<syntax><value>число</value></syntax>
<default>128</default>
<context>http</context>
<context>server</context>

<para>
Задаёт максимальное число параллельных HTTP/2-потоков
в соединении.
</para>

</directive>


<directive name="http2_max_field_size">
<syntax><value>размер</value></syntax>
<default>4k</default>
<context>http</context>
<context>server</context>

<para>
Ограничивает максимальный размер
заголовка запроса, сжатого при помощи
<link url="http://tools.ietf.org/html/rfc7541">HPACK</link>.
Ограничение применяется в равной степени как к имени, так и к значению.
Если применяется кодирование Хаффмана,
то фактический размер распакованных строк имени и значения может быть больше.
Ограничение по умолчанию подходит для большинства запросов.
</para>

</directive>


<directive name="http2_max_header_size">
<syntax><value>размер</value></syntax>
<default>16k</default>
<context>http</context>
<context>server</context>

<para>
Ограничивает максимальный размер всего списка заголовков запроса после
распаковки <link url="http://tools.ietf.org/html/rfc7541">HPACK</link>.
Ограничение по умолчанию подходит для большинства запросов.
</para>

</directive>


<directive name="http2_recv_buffer_size">
<syntax><value>размер</value></syntax>
<default>256k</default>
<context>http</context>

<para>
Задаёт размер входного буфера для
<link doc="../ngx_core_module.xml" id="worker_processes">рабочего
процесса</link>.
</para>

</directive>


<directive name="http2_recv_timeout">
<syntax><value>время</value></syntax>
<default>30s</default>
<context>http</context>
<context>server</context>

<para>
Задаёт таймаут в случае, когда от клиента ожидаются ещё данные,
после которого соединение закрывается.
</para>

</directive>

</section>


<section id="variables" name="Встроенные переменные">

<para>
Модуль <literal>ngx_http_v2_module</literal>
поддерживает следующие встроенные переменные:
<list type="tag" compact="no">

<tag-name id="var_http2"><var>$http2</var></tag-name>
<tag-desc>
согласованный идентификатор протокола:
“<literal>h2</literal>” для HTTP/2 через TLS,
“<literal>h2c</literal>” для HTTP/2 через незашифрованный TCP,
либо пустая строка.
</tag-desc>

</list>
</para>

</section>

</module>