Plans to support QUIC and HTTP3?

I was wondering if you guys had any plans to support QUIC and HTTP3 in the near future, now that QUIC is an official RFC and HTTP3 is getting closer to being made official. I saw you had some support for UDP, but I wonder if you would need to do anything special on your side so that packets from the same QUIC connection find their way to the same app instance?

1 Like

We’re wating on the ecosystem to mature for our current tech stack. Once that happens, we’ll be supporting it!

There’s currently nothing we do for this, packet steering at that level should be possible though. Our support for UDP is pretty basic right now.

I was able to stand up a Fly app with QUIC + HTTP/3.

  • You’ll need to terminate TLS yourself (I stored a LetsEncrypt cert in a pair of Fly secrets).
  • Expose both UDP 443 and TCP 443 with a pair of [[services]] sections in fly.toml.
  • Omit handlers (since your app terminates TLS).
  • I had to use sysctl to increase the UDP buffer size on the VM.
  • I used Go, but any H3 implementation that runs on Linux should work: https://github.com/lucas-clemente/quic-go
3 Likes

has this changed over the last 2 years? Is QUIC / HTTP/3 something that can be expected soon?

1 Like

I get " Permission denied" from my code when listen udp port 443, I know normally ports below 1024 require the process to be running as root, does anyone know how to config with fly.toml.

I’m not familiar with Docker and I prefer deploy with fly.toml( Buildpacks )