I’m using this conf and it works fine:
server {
listen 203.0.113.1:443 quic reuseport;
listen 203.0.113.1:443 ssl;
server_name example.net www.example.net;
root /home/user/web/example.net/public_html;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/example.net.log combined;
access_log /var/log/nginx/domains/example.net.bytes bytes;
error_log /var/log/nginx/domains/example.net.error.log error;
ssl_certificate /home/user/conf/web/example.net/ssl/example.net.pem;
ssl_certificate_key /home/user/conf/web/example.net/ssl/example.net.key;
ssl_stapling on;
ssl_stapling_verify on;
# TLS 1.3 0-RTT anti-replay
if ($anti_replay = 307) { return 307 https://$host$request_uri; }
if ($anti_replay = 425) { return 425; }
add_header Alt-Svc 'h3=":$server_port"; ma=86400';
include /home/user/conf/web/example.net/nginx.hsts.conf*;
[...]
Remember quic reuseport
only in one server block, for the other domains, only quic