Possible to make preread work for QUIC?

Glen Huang heyhgl at gmail.com
Mon Sep 1 02:30:48 UTC 2025


Hi,

I'm experimenting load balancing for a bunch of upstream QUIC servers.
I wonder if nginx is the right tool for this?

I tried a configuration like this, but when doing curl --http3-only
quic2.com, nginx seemed to always send the traffic to the default
upstream [::1]:444.

pid /run/nginx/nginx.pid;
error_log stderr;
daemon off;
events {}
stream {
 map $ssl_preread_server_name $upstream {
  default [::1]:444;
  quic1.com unix:/run/nginx/quic1.sock;
  quic2.com unix:/run/nginx/quic2.sock;
 }
 server {
  listen 443 reuseport;
  listen [::]:443 reuseport;
  ssl_preread on;
  proxy_pass $upstream;
 }
 server {
  listen 443 udp reuseport;
  listen [::]:443 udp reuseport;
  ssl_preread on;
  proxy_pass $upstream;
 }
}

Is my configuration incorrect? Does preread support QUIC? Thanks in advance.


More information about the nginx mailing list