Support HTTP/3 clients
Add support for terminating HTTP/3 connections from clients.
Supporting HTTP/3 backends and/or acting as an HTTP/3 passthrough (UDP proxy) may be considered out of scope for this issue.
Search Keywords: H3, HTTP3, QUIC
Thanks for this issue @abursavich.
Since Contour is a control plane for Envoy, we are waiting on Envoy support for HTTP/3 (which I believe is tracked in envoyproxy/envoy#2557).
I'll mark this as blocked for now.
Envoy issue to add QUIC / HTTP3 docs - https://github.com/envoyproxy/envoy/issues/12923
Envoy has added documentation on how to enable QUIC / HTTP3: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http3.html?highlight=quic
Thanks @PKizzle, we'll keep an eye on the blocking issue mentioned in the above page (envoyproxy/envoy#13115).
Looks like (envoyproxy/envoy#13115) has been merged and released in Envoy 1.20.0
Okay, sadly this is now blocked behind #4075 as well. Putting the blocked/needs-envoy label back.
#4075 was merged @youngnick
any updates on this? Are there any WIP or milestone set for QUIC support?
Downstream HTTP/3 now considered GA in Envoy 1.22.0
https://www.envoyproxy.io/docs/envoy/v1.22.0/version_history/current#new-features
http3: downstream HTTP/3 support is now GA! Upstream HTTP/3 also GA for specific deployments. See here for details.
Is this planned for v1.24?
Looks like most of resources now are focused around gateway API. And http3 mostly ignored because its a cool feature, but anyone can live & work without it for now. (I'm personally of course want http3 just for fun and look around to the code to make it works, but without success)
On paper it is enough to just define http3 listener in contour, and use same configuration about upsteram clusters like http1/2 does.
Main solution for deploying contour in most setups was using Cloud LB, and AFAIK currently that setup doesn't support publish 443 udp/tcp at same time - so another barrier for wide availability of http3.
And even, if that possible to use contour without that with some magic it is still not supported and not expected way to work with contour, so it also will not adopted in near time.
So, IMHO, http3 will not be implemented in contour in near time without some PR from community, because of issue with cloud LB setup, and because of more interests around supporting new K8s API like gateway/endpoint slicing.
Main solution for deploying contour in most setups was using Cloud LB, and AFAIK currently that setup doesn't support publish 443 udp/tcp at same time - so another barrier for wide availability of http3.
Since Kubernetes 1.24, the MixedProtocolLBService feature gate is enabled by default, so using a single LB service for TCP/UDP works (I'm already using it for DNS).
fwiw Emissary has been supporting it since v3.0.0 of last summer (https://www.getambassador.io/docs/emissary/latest/topics/running/http3)
Are there any plans to support http3 in next contour release since there is priority label set on this feature?
I'd love to see it as well!
hello, any new on http3 support ?
AWS just launched QUIC support for their NLB, now only support from contour is missing to support QUIC for ingress in our application.