Mercurial > hg > nginx
comparison README @ 8982:8f5d0ade0da7 quic
README: updated to QUICv1.
While here, removed old browsers tips.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 26 Jan 2022 14:15:40 +0300 |
parents | 6f8253673669 |
children | 3b7e690dda27 |
comparison
equal
deleted
inserted
replaced
8981:7ea585a6ed0f | 8982:8f5d0ade0da7 |
---|---|
32 | 32 |
33 You can always contact us via nginx-devel mailing list [3]. | 33 You can always contact us via nginx-devel mailing list [3]. |
34 | 34 |
35 What works now: | 35 What works now: |
36 | 36 |
37 Currently we support IETF-QUIC draft-29 through final RFC documents. | 37 We support IETF QUIC version 1. Internet drafts are no longer supported. |
38 Earlier drafts are NOT supported as they have incompatible wire format. | |
39 | 38 |
40 nginx should be able to respond to HTTP/3 requests over QUIC and | 39 nginx should be able to respond to HTTP/3 requests over QUIC and |
41 it should be possible to upload and download big files without errors. | 40 it should be possible to upload and download big files without errors. |
42 | 41 |
43 + The handshake completes successfully | 42 + The handshake completes successfully |
176 | 175 |
177 4. Clients | 176 4. Clients |
178 | 177 |
179 * Browsers | 178 * Browsers |
180 | 179 |
181 Known to work: Firefox 80+ and Chrome 85+ (QUIC draft 29+) | 180 Known to work: Firefox 90+ and Chrome 92+ (QUIC version 1) |
182 | 181 |
183 Beware of strange issues: sometimes browser may decide to ignore QUIC | 182 Beware of strange issues: sometimes browser may decide to ignore QUIC |
184 Cache clearing/restart might help. Always check access.log and | 183 Cache clearing/restart might help. Always check access.log and |
185 error.log to make sure you are using HTTP/3 and not TCP https. | 184 error.log to make sure you are using HTTP/3 and not TCP https. |
186 | 185 |
187 + to enable QUIC in Firefox, set the following in 'about:config': | |
188 network.http.http3.enabled = true | |
189 | |
190 + to enable QUIC in Chrome, enable it on command line and force it | |
191 on your site: | |
192 | |
193 $ ./chrome --enable-quic --quic-version=h3-29 \ | |
194 --origin-to-force-quic-on=example.com:8443 | |
195 | |
196 * Console clients | 186 * Console clients |
197 | 187 |
198 Known to work: ngtcp2, firefox's neqo and chromium's console clients: | 188 Known to work: ngtcp2, firefox's neqo and chromium's console clients: |
199 | 189 |
200 $ examples/client 127.0.0.1 8443 https://example.com:8443/index.html | 190 $ examples/client 127.0.0.1 8443 https://example.com:8443/index.html |
201 | 191 |
202 $ ./neqo-client https://127.0.0.1:8443/ | 192 $ ./neqo-client https://127.0.0.1:8443/ |
203 | 193 |
204 $ chromium-build/out/my_build/quic_client http://example.com:8443 \ | 194 $ chromium-build/out/my_build/quic_client http://example.com:8443 |
205 --quic_version=h3-29 \ | |
206 --allow_unknown_root_cert \ | |
207 --disable_certificate_verification | |
208 | 195 |
209 | 196 |
210 If you've got it right, in the access log you should see something like: | 197 If you've got it right, in the access log you should see something like: |
211 | 198 |
212 127.0.0.1 - - [24/Apr/2020:11:27:29 +0300] "GET / HTTP/3" 200 805 "-" | 199 127.0.0.1 - - [24/Apr/2020:11:27:29 +0300] "GET / HTTP/3" 200 805 "-" |
220 + Ensure you are building with proper SSL library that supports QUIC | 207 + Ensure you are building with proper SSL library that supports QUIC |
221 | 208 |
222 + Ensure you are using the proper SSL library in runtime | 209 + Ensure you are using the proper SSL library in runtime |
223 (`nginx -V` will show you what you are using) | 210 (`nginx -V` will show you what you are using) |
224 | 211 |
225 + Ensure your client is actually sending QUIC requests | 212 + Ensure your client is actually sending requests over QUIC |
226 (see "Clients" section about browsers and cache) | 213 (see "Clients" section about browsers and cache) |
227 | 214 |
228 We recommend to start with simple console client like ngtcp2 | 215 We recommend to start with simple console client like ngtcp2 |
229 to ensure you've got server configured properly before trying | 216 to ensure you've got server configured properly before trying |
230 with real browsers that may be very picky with certificates, | 217 with real browsers that may be very picky with certificates, |