annotate xml/ru/docs/quic.xml @ 2964:23eedf89fd5d

Updated QUIC documentation after QUIC code merge. - removed http3_max_concurrent_pushes, http3_push http3_push_preload, quic_mtu - updated apperared-in version - update of quic.xml, adding Rus translation
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 23 May 2023 16:44:47 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2964
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1 <!--
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
2 Copyright (C) Nginx, Inc.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
3 -->
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
4
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
5 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
6
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
7 <article name="Поддержка QUIC и HTTP/3"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
8 link="/ru/docs/quic.html"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
9 lang="ru"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
10 rev="2">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
11
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
12 <section>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
13
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
14 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
15 Поддержка протоколов
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
16 <link url="https://datatracker.ietf.org/doc/html/rfc9000">QUIC</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
17 и
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
18 <link url="https://datatracker.ietf.org/doc/html/rfc9114">HTTP/3</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
19 доступна начиная с версии 1.25.0.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
20 Также, начиная с 1.25.0, поддержка доступна в
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
21 <link doc="../linux_packages.xml">готовых пакетах</link> для Linux.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
22 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
23
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
24 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
25 <note>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
26 Поддержка QUIC и HTTP/3 экспериментальная, поэтому возможно всё.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
27 </note>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
28 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
29
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
30 </section>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
31
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
32
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
33 <section id="building" name="Сборка из исходных файлов">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
34
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
35 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
36 Сборка настраивается командой <command>configure</command>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
37 Подробнее см. в статье <link doc="configure.xml"/>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
38 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
39
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
40 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
41 Во время сборки nginx можно включить QUIC и HTTP/3
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
42 при помощи конфигурационного параметра
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
43 <link doc="configure.xml" id="http_v3_module"><literal>--with-http_v3_module</literal></link>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
44 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
45
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
46 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
47 Для сборки nginx рекомендуется библиотека SSL с поддержкой QUIC, например
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
48 <link url="https://boringssl.googlesource.com/boringssl">BoringSSL</link>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
49 <link url="https://www.libressl.org">LibreSSL</link> или
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
50 <link url="https://github.com/quictls/openssl">QuicTLS</link>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
51 Иначе, при использовании библиотеки <link url="https://openssl.org">OpenSSL</link>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
52 будет использоваться OpenSSL compatibility layer, в котором не поддерживается
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
53 <link doc="http/ngx_http_ssl_module.xml" id="ssl_early_data">early data</link>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
54 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
55
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
56 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
57 При конфигурации nginx с
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
58 <link url="https://boringssl.googlesource.com/boringssl">BoringSSL</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
59 используется следующая команда:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
60 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
61 ./configure
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
62 --with-debug
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
63 --with-http_v3_module
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
64 --with-cc-opt="-I../boringssl/include"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
65 --with-ld-opt="-L../boringssl/build/ssl
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
66 -L../boringssl/build/crypto"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
67 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
68 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
69
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
70 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
71 Кроме того, можно сконфигурировать nginx с
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
72 <link url="https://github.com/quictls/openssl">QuicTLS</link>:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
73 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
74 ./configure
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
75 --with-debug
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
76 --with-http_v3_module
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
77 --with-cc-opt="-I../quictls/build/include"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
78 --with-ld-opt="-L../quictls/build/lib"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
79 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
80 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
81
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
82 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
83 Кроме того, можно сконфигурировать nginx с современной версией
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
84 <link url="https://www.libressl.org">LibreSSL</link>:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
85 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
86 ./configure
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
87 --with-debug
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
88 --with-http_v3_module
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
89 --with-cc-opt="-I../libressl/build/include"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
90 --with-ld-opt="-L../libressl/build/lib"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
91 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
92 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
93
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
94 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
95 После конфигурации
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
96 nginx компилируется и устанавливается с помощью
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
97 <command>make</command>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
98 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
99
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
100 </section>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
101
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
102
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
103 <section id="configuration" name="Конфигурация">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
104
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
105 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
106 В директиве <link doc="http/ngx_http_core_module.xml" id="listen"/>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
107 модуля <link doc="http/ngx_http_core_module.xml">ngx_http_core_module</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
108 появился новый параметр
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
109 <link doc="http/ngx_http_core_module.xml" id="quic">quic</link>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
110 который позволяет принимать на указанном порту QUIC-соединения.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
111 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
112
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
113 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
114 Вместе с параметром <literal>quic</literal>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
115 можно также указать параметр
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
116 <link doc="http/ngx_http_core_module.xml" id="reuseport">reuseport</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
117 для правильной работы с несколькими рабочими процессами.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
118 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
119
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
120 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
121 Список директив см. в модуле
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
122 <link doc="http/ngx_http_v3_module.xml">ngx_http_v3_module</link>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
123 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
124
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
125 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
126 Чтобы <link doc="http/ngx_http_v3_module.xml" id="quic_retry">разрешить</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
127 проверку адреса:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
128 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
129 quic_retry on;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
130 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
131
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
132 Чтобы <link doc="http/ngx_http_ssl_module.xml" id="ssl_early_data">разрешить</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
133 0-RTT:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
134 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
135 ssl_early_data on;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
136 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
137
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
138 Чтобы <link doc="http/ngx_http_v3_module.xml" id="quic_gso">разрешить</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
139 GSO (Generic Segmentation Offloading):
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
140 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
141 quic_gso on;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
142 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
143
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
144 Чтобы <link doc="http/ngx_http_v3_module.xml" id="quic_host_key">установить</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
145 host-ключ для различных токенов:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
146 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
147 quic_host_key &lt;filename&gt;;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
148 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
149 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
150
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
151 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
152 Для работы QUIC требуется версия протокла TLSv1.3, которая включена по умолчанию
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
153 в директиве <link doc="http/ngx_http_ssl_module.xml" id="ssl_protocols"/>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
154 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
155
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
156 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
157 По умолчанию
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
158 <link url="http://vger.kernel.org/lpc_net2018_talks/willemdebruijn-lpc2018-udpgso-paper-DRAFT-1.pdf">GSO Linux-specific optimization</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
159 выключена.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
160 Включите, если настроен соответствующий сетевой интерфейс,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
161 поддерживающий GSO.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
162 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
163
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
164 </section>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
165
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
166
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
167 <section id="example" name="Пример конфигурации">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
168
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
169 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
170 <example>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
171 http {
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
172 log_format quic '$remote_addr - $remote_user [$time_local] '
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
173 '"$request" $status $body_bytes_sent '
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
174 '"$http_referer" "$http_user_agent" "$http3"';
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
175
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
176 access_log logs/access.log quic;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
177
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
178 server {
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
179 # для лучшей совместимости рекомендуется
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
180 # использовать один порт для quic и https
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
181 listen 8443 quic reuseport;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
182 listen 8443 ssl;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
183
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
184 ssl_certificate certs/example.com.crt;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
185 ssl_certificate_key certs/example.com.key;
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
186
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
187 location / {
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
188 # для перенаправления браузеров в quic-порт
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
189 add_header Alt-Svc 'h3=":8443"; ma=86400';
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
190 }
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
191 }
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
192 }
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
193 </example>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
194 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
195
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
196 </section>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
197
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
198
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
199 <section id="troubleshooting " name="Устранение неполадок">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
200
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
201 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
202 Приблизительные шаги при обнаружении проблемы:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
203 <list type="bullet">
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
204
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
205 <listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
206 Убедитесь, что nginx собран с правильной SSL-библиотекой.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
207 </listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
208
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
209 <listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
210 Убедитесь, что nginx использует правильную SSL-библиотеку в runtime
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
211 (<literal>nginx -V</literal> покажет что именно используется в данный момент).
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
212 </listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
213
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
214 <listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
215 Убедитесь, что клиент действительно присылает запросы через QUIC.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
216 Рекомендуется начать с простого консольного клиента, например
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
217 <link url="https://nghttp2.org/ngtcp2">ngtcp2</link>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
218 чтобы убедиться, что сервер настроен правильно, и затем попробовать
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
219 в браузерах, так как браузеры могут быть требовательны к сертификатам.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
220 </listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
221
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
222 <listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
223 Соберите nginx с поддержкой <link doc="debugging_log.xml">отладочного лога</link>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
224 и проверьте отладочный лог.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
225 В нём должны содержаться все детали соединения и причины ошибок.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
226 Соответствующие сообщения начинаются с префикса “<literal>quic</literal>”
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
227 и могут быть по нему отфильтрованы.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
228 </listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
229
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
230 <listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
231 Для детального исследования можно включить дополнительную отладку
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
232 при помощи следующих макросов:
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
233 <literal>NGX_QUIC_DEBUG_PACKETS</literal>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
234 <literal>NGX_QUIC_DEBUG_FRAMES</literal>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
235 <literal>NGX_QUIC_DEBUG_ALLOC</literal>,
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
236 <literal>NGX_QUIC_DEBUG_CRYPTO</literal>.
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
237
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
238 <para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
239 <programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
240 ./configure
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
241 --with-http_v3_module
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
242 --with-debug
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
243 --with-cc-opt="-DNGX_QUIC_DEBUG_PACKETS -DNGX_QUIC_DEBUG_CRYPTO"
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
244 </programlisting>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
245 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
246
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
247 </listitem>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
248
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
249 </list>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
250 </para>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
251
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
252 </section>
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
253
23eedf89fd5d Updated QUIC documentation after QUIC code merge.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
254 </article>