Mercurial > hg > nginx-site
annotate xml/en/docs/http/ngx_http_v2_module.xml @ 2759:5fcef752e096
The annual community survey promo added.
author | Maxim Konovalov <maxim@nginx.com> |
---|---|
date | Thu, 26 Aug 2021 20:11:01 +0300 |
parents | d13341d3c54a |
children | b74f2038f2b5 |
rev | line source |
---|---|
1566 | 1 <?xml version="1.0"?> |
2 | |
3 <!-- | |
4 Copyright (C) Nginx, Inc. | |
5 --> | |
6 | |
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | |
8 | |
9 <module name="Module ngx_http_v2_module" | |
10 link="/en/docs/http/ngx_http_v2_module.html" | |
11 lang="en" | |
2654
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
12 rev="14"> |
1566 | 13 |
14 <section id="summary"> | |
15 | |
16 <para> | |
17 The <literal>ngx_http_v2_module</literal> module (1.9.5) provides | |
18 support for <link url="https://tools.ietf.org/html/rfc7540">HTTP/2</link> | |
19 and supersedes the | |
20 <link doc="ngx_http_spdy_module.xml">ngx_http_spdy_module</link> module. | |
21 </para> | |
22 | |
23 <para> | |
24 This module is not built by default, it should be enabled with | |
25 the <literal>--with-http_v2_module</literal> | |
26 configuration parameter. | |
27 </para> | |
28 | |
29 </section> | |
30 | |
31 | |
1580
c711a8a1a8f9
Changed ID from "bugs" to "issues" for http/2, perl, spdy.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1577
diff
changeset
|
32 <section id="issues" name="Known Issues"> |
1577
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
33 |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
34 <para> |
1671
5154b356a1b2
Unbuffered request body upload support in http2.
Ruslan Ermilov <ru@nginx.com>
parents:
1666
diff
changeset
|
35 Before version 1.9.14, |
5154b356a1b2
Unbuffered request body upload support in http2.
Ruslan Ermilov <ru@nginx.com>
parents:
1666
diff
changeset
|
36 buffering of a client request body could not be disabled |
1577
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
37 regardless of |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
38 <link doc="ngx_http_proxy_module.xml" id="proxy_request_buffering"/>, |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
39 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_request_buffering"/>, |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
40 <link doc="ngx_http_uwsgi_module.xml" id="uwsgi_request_buffering"/>, and |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
41 <link doc="ngx_http_scgi_module.xml" id="scgi_request_buffering"/> |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
42 directive values. |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
43 </para> |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
44 |
2567
4f3494d80949
Documented support for HTTP/2 in lingering_close.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2450
diff
changeset
|
45 <para> |
4f3494d80949
Documented support for HTTP/2 in lingering_close.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2450
diff
changeset
|
46 Before version 1.19.1, |
4f3494d80949
Documented support for HTTP/2 in lingering_close.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2450
diff
changeset
|
47 the <link doc="ngx_http_core_module.xml" id="lingering_close"/> mechanism |
4f3494d80949
Documented support for HTTP/2 in lingering_close.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2450
diff
changeset
|
48 was not used to control closing HTTP/2 connections. |
4f3494d80949
Documented support for HTTP/2 in lingering_close.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2450
diff
changeset
|
49 </para> |
4f3494d80949
Documented support for HTTP/2 in lingering_close.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2450
diff
changeset
|
50 |
1577
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
51 </section> |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
52 |
37be36b01d28
Added the "Known issues" section to the ngx_http_v2 module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1568
diff
changeset
|
53 |
1566 | 54 <section id="example" name="Example Configuration"> |
55 | |
56 <para> | |
57 <example> | |
58 server { | |
59 listen 443 ssl http2; | |
60 | |
61 ssl_certificate server.crt; | |
62 ssl_certificate_key server.key; | |
63 } | |
64 </example> | |
1568
61a3285d77aa
Paraphrased the ALPN/NPN requirements note so it makes sense.
Ruslan Ermilov <ru@nginx.com>
parents:
1566
diff
changeset
|
65 Note that accepting HTTP/2 connections over TLS requires |
1566 | 66 the “Application-Layer Protocol Negotiation” (ALPN) TLS extension |
1568
61a3285d77aa
Paraphrased the ALPN/NPN requirements note so it makes sense.
Ruslan Ermilov <ru@nginx.com>
parents:
1566
diff
changeset
|
67 support, which is available only since |
61a3285d77aa
Paraphrased the ALPN/NPN requirements note so it makes sense.
Ruslan Ermilov <ru@nginx.com>
parents:
1566
diff
changeset
|
68 <link url="http://www.openssl.org">OpenSSL</link> version 1.0.2. |
61a3285d77aa
Paraphrased the ALPN/NPN requirements note so it makes sense.
Ruslan Ermilov <ru@nginx.com>
parents:
1566
diff
changeset
|
69 Using the “Next Protocol Negotiation” (NPN) TLS extension for this purpose |
1835
0ba8d161c354
Clarified the note about NPN and HTTP/2.
Ruslan Ermilov <ru@nginx.com>
parents:
1834
diff
changeset
|
70 (available since OpenSSL version 1.0.1) is not guaranteed to work. |
1566 | 71 </para> |
72 | |
1609
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
73 <para> |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
74 Also note that if the |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
75 <link doc="ngx_http_ssl_module.xml" id="ssl_prefer_server_ciphers"/> directive |
1659
680cbf783efe
Fixed some misuses of "value".
Ruslan Ermilov <ru@nginx.com>
parents:
1636
diff
changeset
|
76 is set to the value “<literal>on</literal>”, |
1609
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
77 the <link doc="ngx_http_ssl_module.xml" id="ssl_ciphers">ciphers</link> |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
78 should be configured to comply with |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
79 <link url="https://tools.ietf.org/html/rfc7540#appendix-A">RFC 7540, Appendix A</link> |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
80 black list and supported by clients. |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
81 </para> |
887ce78207ac
Added note about ssl_prefer_server_ciphers in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1596
diff
changeset
|
82 |
1566 | 83 </section> |
84 | |
85 | |
86 <section id="directives" name="Directives"> | |
87 | |
2142
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
88 <directive name="http2_body_preread_size"> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
89 <syntax><value>size</value></syntax> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
90 <default>64k</default> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
91 <context>http</context> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
92 <context>server</context> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
93 <appeared-in>1.11.0</appeared-in> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
94 |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
95 <para> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
96 Sets the <value>size</value> of the buffer per each request |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
97 in which the request body may be saved |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
98 before it is started to be processed. |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
99 </para> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
100 |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
101 </directive> |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
102 |
ca7568f67dee
Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents:
2105
diff
changeset
|
103 |
1566 | 104 <directive name="http2_chunk_size"> |
105 <syntax><value>size</value></syntax> | |
106 <default>8k</default> | |
107 <context>http</context> | |
108 <context>server</context> | |
109 <context>location</context> | |
110 | |
111 <para> | |
112 Sets the maximum size of chunks | |
113 into which the response body is sliced. | |
114 A too low value results in higher overhead. | |
115 A too high value impairs prioritization due to | |
116 <link url="http://en.wikipedia.org/wiki/Head-of-line_blocking"> | |
117 HOL blocking</link>. | |
118 </para> | |
119 | |
120 </directive> | |
121 | |
122 | |
123 <directive name="http2_idle_timeout"> | |
124 <syntax><value>time</value></syntax> | |
125 <default>3m</default> | |
126 <context>http</context> | |
127 <context>server</context> | |
128 | |
129 <para> | |
2654
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
130 <note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
131 This directive is obsolete since version 1.19.7. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
132 The <link doc="ngx_http_core_module.xml" id="keepalive_timeout"/> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
133 directive should be used instead. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
134 </note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
135 </para> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
136 |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
137 <para> |
1566 | 138 Sets the timeout of inactivity after which the connection is closed. |
139 </para> | |
140 | |
141 </directive> | |
142 | |
143 | |
2105
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
144 <directive name="http2_max_concurrent_pushes"> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
145 <syntax><value>number</value></syntax> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
146 <default>10</default> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
147 <context>http</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
148 <context>server</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
149 <appeared-in>1.13.9</appeared-in> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
150 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
151 <para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
152 Limits the maximum number of concurrent |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
153 <link id="http2_push">push</link> requests in a connection. |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
154 </para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
155 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
156 </directive> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
157 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
158 |
1566 | 159 <directive name="http2_max_concurrent_streams"> |
160 <syntax><value>number</value></syntax> | |
161 <default>128</default> | |
162 <context>http</context> | |
163 <context>server</context> | |
164 | |
165 <para> | |
166 Sets the maximum number of concurrent HTTP/2 streams | |
167 in a connection. | |
168 </para> | |
169 | |
170 </directive> | |
171 | |
172 | |
1596
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
173 <directive name="http2_max_field_size"> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
174 <syntax><value>size</value></syntax> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
175 <default>4k</default> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
176 <context>http</context> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
177 <context>server</context> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
178 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
179 <para> |
2654
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
180 <note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
181 This directive is obsolete since version 1.19.7. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
182 The <link doc="ngx_http_core_module.xml" id="large_client_header_buffers"/> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
183 directive should be used instead. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
184 </note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
185 </para> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
186 |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
187 <para> |
1596
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
188 Limits the maximum size of |
1923
66a30a380fba
Fixed links to tools.ietf.org.
Ruslan Ermilov <ru@nginx.com>
parents:
1835
diff
changeset
|
189 an <link url="https://tools.ietf.org/html/rfc7541">HPACK</link>-compressed |
1596
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
190 request header field. |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
191 The limit applies equally to both name and value. |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
192 Note that if Huffman encoding is applied, |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
193 the actual size of decompressed name and value strings may be larger. |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
194 For most requests, the default limit should be enough. |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
195 </para> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
196 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
197 </directive> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
198 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
199 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
200 <directive name="http2_max_header_size"> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
201 <syntax><value>size</value></syntax> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
202 <default>16k</default> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
203 <context>http</context> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
204 <context>server</context> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
205 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
206 <para> |
2654
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
207 <note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
208 This directive is obsolete since version 1.19.7. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
209 The <link doc="ngx_http_core_module.xml" id="large_client_header_buffers"/> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
210 directive should be used instead. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
211 </note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
212 </para> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
213 |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
214 <para> |
1596
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
215 Limits the maximum size of the entire request header list after |
1923
66a30a380fba
Fixed links to tools.ietf.org.
Ruslan Ermilov <ru@nginx.com>
parents:
1835
diff
changeset
|
216 <link url="https://tools.ietf.org/html/rfc7541">HPACK</link> decompression. |
1596
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
217 For most requests, the default limit should be enough. |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
218 </para> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
219 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
220 </directive> |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
221 |
e491c669220e
Documented http2_max_field_size, http2_max_header_size
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1580
diff
changeset
|
222 |
1834
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
223 <directive name="http2_max_requests"> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
224 <syntax><value>number</value></syntax> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
225 <default>1000</default> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
226 <context>http</context> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
227 <context>server</context> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
228 <appeared-in>1.11.6</appeared-in> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
229 |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
230 <para> |
2654
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
231 <note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
232 This directive is obsolete since version 1.19.7. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
233 The <link doc="ngx_http_core_module.xml" id="keepalive_requests"/> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
234 directive should be used instead. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
235 </note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
236 </para> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
237 |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
238 <para> |
2105
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
239 Sets the maximum number of requests (including |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
240 <link id="http2_push">push</link> requests) that can be served |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
241 through one HTTP/2 connection, |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
242 after which the next client request will lead to connection closing |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
243 and the need of establishing a new connection. |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
244 </para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
245 |
2450
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
246 <para> |
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
247 Closing connections periodically is necessary to free |
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
248 per-connection memory allocations. |
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
249 Therefore, using too high maximum number of requests |
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
250 could result in excessive memory usage and not recommended. |
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
251 </para> |
a26a42699207
Added note about max number of keepalive requests.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2142
diff
changeset
|
252 |
2105
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
253 </directive> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
254 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
255 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
256 <directive name="http2_push"> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
257 <syntax><value>uri</value> | <literal>off</literal></syntax> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
258 <default>off</default> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
259 <context>http</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
260 <context>server</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
261 <context>location</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
262 <appeared-in>1.13.9</appeared-in> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
263 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
264 <para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
265 Pre-emptively sends |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
266 (<link url="https://tools.ietf.org/html/rfc7540#section-8.2">pushes</link>) |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
267 a request to the specified <value>uri</value> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
268 along with the response to the original request. |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
269 Only relative URIs with absolute path will be processed, |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
270 for example: |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
271 <example> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
272 http2_push /static/css/main.css; |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
273 </example> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
274 The <value>uri</value> value can contain variables. |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
275 </para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
276 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
277 <para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
278 Several <literal>http2_push</literal> directives |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
279 can be specified on the same configuration level. |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
280 The <literal>off</literal> parameter cancels the effect |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
281 of the <literal>http2_push</literal> directives |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
282 inherited from the previous configuration level. |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
283 </para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
284 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
285 </directive> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
286 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
287 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
288 <directive name="http2_push_preload"> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
289 <syntax><literal>on</literal> | <literal>off</literal></syntax> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
290 <default>off</default> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
291 <context>http</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
292 <context>server</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
293 <context>location</context> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
294 <appeared-in>1.13.9</appeared-in> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
295 |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
296 <para> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
297 Enables automatic conversion of |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
298 <link url="https://www.w3.org/TR/preload/#server-push-http-2">preload |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
299 links</link> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
300 specified in the <header>Link</header> response header fields into |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
301 <link url="https://tools.ietf.org/html/rfc7540#section-8.2">push</link> |
d45887ccafde
Documented HTTP/2 server push.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2038
diff
changeset
|
302 requests. |
1834
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
303 </para> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
304 |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
305 </directive> |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
306 |
1d0811707e09
Documented the "http2_max_requests" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1707
diff
changeset
|
307 |
1566 | 308 <directive name="http2_recv_buffer_size"> |
309 <syntax><value>size</value></syntax> | |
310 <default>256k</default> | |
311 <context>http</context> | |
312 | |
313 <para> | |
1666
08f48ecb13ba
Added a hyperlink to http2_recv_buffer_size.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1659
diff
changeset
|
314 Sets the size of the per |
08f48ecb13ba
Added a hyperlink to http2_recv_buffer_size.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1659
diff
changeset
|
315 <link doc="../ngx_core_module.xml" id="worker_processes">worker</link> |
08f48ecb13ba
Added a hyperlink to http2_recv_buffer_size.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1659
diff
changeset
|
316 input buffer. |
1566 | 317 </para> |
318 | |
319 </directive> | |
320 | |
321 | |
322 <directive name="http2_recv_timeout"> | |
323 <syntax><value>time</value></syntax> | |
324 <default>30s</default> | |
325 <context>http</context> | |
326 <context>server</context> | |
327 | |
328 <para> | |
2654
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
329 <note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
330 This directive is obsolete since version 1.19.7. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
331 The <link doc="ngx_http_core_module.xml" id="client_header_timeout"/> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
332 directive should be used instead. |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
333 </note> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
334 </para> |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
335 |
d13341d3c54a
Marked some directives as obsolete in HTTP/2.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
2567
diff
changeset
|
336 <para> |
1566 | 337 Sets the timeout for expecting more data from the client, |
338 after which the connection is closed. | |
339 </para> | |
340 | |
341 </directive> | |
342 | |
343 </section> | |
344 | |
345 | |
346 <section id="variables" name="Embedded Variables"> | |
347 | |
348 <para> | |
349 The <literal>ngx_http_v2_module</literal> module | |
350 supports the following embedded variables: | |
351 <list type="tag" compact="no"> | |
352 | |
353 <tag-name id="var_http2"><var>$http2</var></tag-name> | |
354 <tag-desc> | |
355 negotiated protocol identifier: | |
356 “<literal>h2</literal>” for HTTP/2 over TLS, | |
357 “<literal>h2c</literal>” for HTTP/2 over cleartext TCP, | |
358 or an empty string otherwise. | |
359 </tag-desc> | |
360 | |
361 </list> | |
362 </para> | |
363 | |
364 </section> | |
365 | |
366 </module> |