Mercurial > hg > nginx
comparison README @ 9106:113e2438dbd4 quic
Stream: removed QUIC support.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Sun, 14 May 2023 12:05:35 +0400 |
parents | b9230e37b8a1 |
children | f742b1b46901 |
comparison
equal
deleted
inserted
replaced
9105:8057e053480a | 9106:113e2438dbd4 |
---|---|
56 | 56 |
57 The build is configured using the configure command. | 57 The build is configured using the configure command. |
58 Refer to http://nginx.org/en/docs/configure.html for details. | 58 Refer to http://nginx.org/en/docs/configure.html for details. |
59 | 59 |
60 When configuring nginx, it's possible to enable QUIC and HTTP/3 | 60 When configuring nginx, it's possible to enable QUIC and HTTP/3 |
61 using the following new configuration options: | 61 using the following new configuration option: |
62 | 62 |
63 --with-http_v3_module - enable QUIC and HTTP/3 | 63 --with-http_v3_module - enable QUIC and HTTP/3 |
64 --with-stream_quic_module - enable QUIC in Stream | |
65 | 64 |
66 A library that provides QUIC support is recommended to build nginx, there | 65 A library that provides QUIC support is recommended to build nginx, there |
67 are several of those available on the market: | 66 are several of those available on the market: |
68 + BoringSSL [4] | 67 + BoringSSL [4] |
69 + LibreSSL [5] | 68 + LibreSSL [5] |
102 | 101 |
103 3. Configuration | 102 3. Configuration |
104 | 103 |
105 The HTTP "listen" directive got a new option "quic" which enables | 104 The HTTP "listen" directive got a new option "quic" which enables |
106 QUIC as client transport protocol instead of TCP. | 105 QUIC as client transport protocol instead of TCP. |
107 | |
108 The Stream "listen" directive got a new option "quic" which enables | |
109 QUIC as client transport protocol instead of TCP or plain UDP. | |
110 | 106 |
111 Along with "quic", it's also possible to specify "reuseport" | 107 Along with "quic", it's also possible to specify "reuseport" |
112 option [8] to make it work properly with multiple workers. | 108 option [8] to make it work properly with multiple workers. |
113 | 109 |
114 To enable address validation: | 110 To enable address validation: |
146 | 142 |
147 In http, an additional variable is available: $http3. | 143 In http, an additional variable is available: $http3. |
148 The value of $http3 is "h3" for HTTP/3 connections, | 144 The value of $http3 is "h3" for HTTP/3 connections, |
149 "hq" for hq connections, or an empty string otherwise. | 145 "hq" for hq connections, or an empty string otherwise. |
150 | 146 |
151 In stream, an additional variable is available: $quic. | |
152 The value of $quic is "quic" if QUIC connection is used, | |
153 or an empty string otherwise. | |
154 | |
155 Example configuration: | 147 Example configuration: |
156 | 148 |
157 http { | 149 http { |
158 log_format quic '$remote_addr - $remote_user [$time_local] ' | 150 log_format quic '$remote_addr - $remote_user [$time_local] ' |
159 '"$request" $status $body_bytes_sent ' | 151 '"$request" $status $body_bytes_sent ' |
188 The directive is only supported on Linux 5.7+. | 180 The directive is only supported on Linux 5.7+. |
189 | 181 |
190 | 182 |
191 Syntax: quic_retry on | off; | 183 Syntax: quic_retry on | off; |
192 Default: quic_retry off; | 184 Default: quic_retry off; |
193 Context: http | stream, server | 185 Context: http, server |
194 | 186 |
195 Enables the QUIC Address Validation feature. This includes: | 187 Enables the QUIC Address Validation feature. This includes: |
196 - sending a new token in a Retry packet or a NEW_TOKEN frame | 188 - sending a new token in a Retry packet or a NEW_TOKEN frame |
197 - validating a token received in the Initial packet | 189 - validating a token received in the Initial packet |
198 | 190 |
199 | 191 |
200 Syntax: quic_gso on | off; | 192 Syntax: quic_gso on | off; |
201 Default: quic_gso off; | 193 Default: quic_gso off; |
202 Context: http | stream, server | 194 Context: http, server |
203 | 195 |
204 Enables sending in optimized batch mode using segmentation offloading. | 196 Enables sending in optimized batch mode using segmentation offloading. |
205 Optimized sending is only supported on Linux featuring UDP_SEGMENT. | 197 Optimized sending is only supported on Linux featuring UDP_SEGMENT. |
206 | 198 |
207 | 199 |
208 Syntax: quic_host_key file; | 200 Syntax: quic_host_key file; |
209 Default: - | 201 Default: - |
210 Context: http | stream, server | 202 Context: http, server |
211 | 203 |
212 Specifies a file with the secret key used to encrypt stateless reset and | 204 Specifies a file with the secret key used to encrypt stateless reset and |
213 address validation tokens. By default, a randomly generated key is used. | 205 address validation tokens. By default, a randomly generated key is used. |
214 | 206 |
215 | 207 |
216 Syntax: quic_active_connection_id_limit number; | 208 Syntax: quic_active_connection_id_limit number; |
217 Default: quic_active_connection_id_limit 2; | 209 Default: quic_active_connection_id_limit 2; |
218 Context: http | stream, server | 210 Context: http, server |
219 | 211 |
220 Sets the QUIC active_connection_id_limit transport parameter value. | 212 Sets the QUIC active_connection_id_limit transport parameter value. |
221 This is the maximum number of connection IDs we are willing to store. | 213 This is the maximum number of connection IDs we are willing to store. |
222 | 214 |
223 | |
224 Syntax: quic_timeout time; | |
225 Default: quic_timeout 60s; | |
226 Context: stream, server | |
227 | |
228 Defines a timeout used to negotiate the QUIC idle timeout. | |
229 In the http module, it is taken from the keepalive_timeout directive. | |
230 | |
231 | |
232 Syntax: quic_stream_buffer_size size; | |
233 Default: quic_stream_buffer_size 64k; | |
234 Context: stream, server | |
235 | 215 |
236 Syntax: http3_stream_buffer_size size; | 216 Syntax: http3_stream_buffer_size size; |
237 Default: http3_stream_buffer_size 64k; | 217 Default: http3_stream_buffer_size 64k; |
238 Context: http, server | 218 Context: http, server |
239 | 219 |