Opened 2 months ago

Last modified 4 weeks ago

#2620 new defect

IPv6 with HTTP/3 / QUIC don't work — at Version 1

Reported by: DoM1niC@… Owned by:
Priority: minor Milestone: nginx-1.27
Component: http/3 Version: 1.25.x
Keywords: Cc:
uname -a: 6.7.9-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Fri, 08 Mar 2024 01:58:50 +0000 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.25.4

Description (last modified by DoM1niC@…)

Listener Config

# HTTP/3 / QUIC Listener
listen 443 quic;
# HTTP/2 Fallback
listen 443 ssl;

listen [::]:443 quic;
# HTTP/2 Fallback
listen [::]:443 ssl;

http2 on;
http3 on;
http3_hq on;

# SSL Settings
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers off;
quic_retry on;
quic_gso on;

# enable 0-RTT
ssl_early_data on;
ssl_session_tickets off;

# Redirect HTTP/3
add_header alt-svc 'h3=":$server_port"; ma=86400, h3-29=":$server_port"; ma=86400, h3-28=":$server_port"; ma=86400, h3-27=":$server_port"; ma=86400';
add_header Strict-Transport-Security
"max-age=31536000; includeSubDomains"
always;
add_header quic-status $http3 always;
add_header x-quic 'h3' always;

Netstat

[root@router ~]# netstat -tulpen | grep nginx
tcp        0      0 0.0.0.0:853             0.0.0.0:*               LISTEN      0          22839291   148259/nginx: maste
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      0          22839295   148259/nginx: maste
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      0          22839293   148259/nginx: maste
tcp6       0      0 :::853                  :::*                    LISTEN      0          22839292   148259/nginx: maste
tcp6       0      0 :::443                  :::*                    LISTEN      0          22839296   148259/nginx: maste
tcp6       0      0 :::80                   :::*                    LISTEN      0          22839294   148259/nginx: maste
udp        0      0 0.0.0.0:443             0.0.0.0:*                           0          22839297   148259/nginx: maste
udp6       0      0 :::443                  :::*                                0          22839298   148259/nginx: maste

HTTP/3 works fine with a IPv4 resolve but not with IPv6, HTTP/2 will answer instead to the Client (Google Chrome).

What I do wrong ? I use the latest SourceCode based on last Release with

OpenSSL 3.2.1 30 Jan 2024 (Library: OpenSSL 3.2.1 30 Jan 2024)

Change History (1)

comment:1 by DoM1niC@…, 2 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.