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