I'm attempting to utilize Envoy in a manner similar to what is described in this blog post:
The above configuration has an HTTP/2 listener performing mTLS validation, and a separate HTTP/3 listener.
For my use case, I want clients to only use HTTP/3, and I require them to present a client certificate and perform mTLS validation. I enabled this in my Envoy configuration and was surprised to see an error explicitly stating that mTLS is not supported for HTTP/3 listeners.
I've been brainstorming ways around this, to include performing mTLS over HTTP/2 and then advertising an upgrade to HTTP/3 via alt-svc, but I don't think this would work either since unauthenticated users could just connect directly to the HTTP/3 listener.
If I only accept http/2 connections and then proxy to an http/3 listener, I'm going to lose all the benefits of QUIC as the connection would still have to flow through the http/2 TCP connection as I understand it.
Is there a clear way forward here? Is mTLS support for HTTP/3 connections planned for Envoy in the future?