Opened 3 years ago
Closed 3 years ago
#2325 closed defect (invalid)
Server chooses hq-interop instead of h3
Reported by: | David Hu | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | http/3 | Version: | |
Keywords: | http3 | Cc: | David Hu |
uname -a: | Linux [REDACTED] 5.16.10-arch1-1 #1 SMP PREEMPT Wed, 16 Feb 2022 19:35:18 +0000 x86_64 GNU/Linux | ||
nginx -V: |
nginx version: nginx/1.21.7
built with OpenSSL 3.0.1+quic 14 Dec 2021 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-debug --with-http_ssl_module --with-http_v2_module --with-stream_quic_module --with-http_v3_module --with-cc-opt='-I/usr/local/include/openssl -O0 -DNGX_HTTP_V3_HQ=1' --with-ld-opt=-L/usr/local/lib64 |
Description (last modified by )
When compiled with -DNGX_HTTP_V3_HQ=1
And specified the directives
listen 0.0.0.0:443 http3 reuseport; listen 0.0.0.0:443 http2 ssl reuseport; listen [::]:443 http3; listen [::]:443 http2 ssl reuseport;
in the virtual host block
and
quic_retry on; http3_hq on; http3_push on;
in the http
block
Some clients are unable to connect to the server
Debug logs
2022/02/22 02:41:27 [debug] 27685#0: *99 SSL ALPN supported by client: h3 2022/02/22 02:41:27 [debug] 27685#0: *99 quic ngx_quic_send_alert() level:init alert:120 2022/02/22 02:41:27 [debug] 27685#0: *99 quic SSL_quic_read_level:0 SSL_quic_write_level:0 2022/02/22 02:41:27 [debug] 27685#0: *99 SSL_do_handshake: -1 2022/02/22 02:41:27 [debug] 27685#0: *99 SSL_get_error: 1 2022/02/22 02:41:27 [error] 27685#0: *99 SSL_do_handshake() failed (SSL: error:0A0000EB:SSL routines::no application protocol) while handling frames, client: [REDACTED], server: [::]:443 2022/02/22 02:41:27 [debug] 27685#0: *99 quic packet done rc:-1 level:init decr:1 pn:1 perr:0 2022/02/22 02:41:27 [debug] 27685#0: *99 quic close initiated rc:-1 2022/02/22 02:41:27 [debug] 27685#0: *99 quic close immediate due to error: 376 handshake failed
Change History (3)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
Description: | modified (diff) |
---|
comment:3 by , 3 years ago
Component: | documentation → http/3 |
---|---|
Resolution: | → invalid |
Status: | new → closed |
The http3_hq
directive switches HTTP/3 to a special application protocol used mainly in QUIC protocol interoperability testing and negotiated with ALPN token "hq-interop". As such, it's not for use with conventional HTTP/3 clients.
Note:
See TracTickets
for help on using tickets.
oops, I selected the wrong component, can someone correct it?