After reading Delivery Hero’s HTTP/3 story, I wanted a quick way to see if a site really serves HTTP/3. Swap in your own domain for example.com.
1. Is it advertised?
curl -sI https://example.com | grep -i alt-svc
# Look for something like: alt-svc: h3=":443"; ma=86400
2. Can you actually connect over it?
# Your curl needs HTTP/3 built in:
curl -V | grep -i http3
# Then force it:
curl --http3-only -sI -o /dev/null -w '%{http_version}\n' https://example.com
# "3" means it worked
3. If you run the server
- Open UDP 443 on the firewall, not just TCP. Check with
sudo ss -ulpn | grep ':443'. - nginx 1.25+ supports QUIC: add
listen 443 quic reuseport;next to your TLS listener and sendadd_header Alt-Svc 'h3=":443"; ma=86400';. - Behind a CDN like Cloudflare, HTTP/3 is a toggle in the dashboard’s protocol settings.
My take
Keep HTTP/2 enabled as the fallback. Some networks block UDP, and that’s fine. For a WordPress blog, the win is mostly on mobile and lossy connections, so measure before and after.
Review before you run anything: read the docs yourself, back up your config, and try it somewhere you can afford to break first.
God Bless, and May the Source Be with You!