contour icon indicating copy to clipboard operation
contour copied to clipboard

Support HTTP/3 clients

Open abursavich opened this issue 5 years ago • 17 comments

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

abursavich avatar Jun 14 '20 20:06 abursavich

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.

youngnick avatar Jun 21 '20 23:06 youngnick

Envoy issue to add QUIC / HTTP3 docs - https://github.com/envoyproxy/envoy/issues/12923

moderation avatar Nov 05 '20 19:11 moderation

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

PKizzle avatar May 11 '21 17:05 PKizzle

Thanks @PKizzle, we'll keep an eye on the blocking issue mentioned in the above page (envoyproxy/envoy#13115).

youngnick avatar May 17 '21 01:05 youngnick

Looks like (envoyproxy/envoy#13115) has been merged and released in Envoy 1.20.0

Jean-Daniel avatar Nov 08 '21 12:11 Jean-Daniel

Okay, sadly this is now blocked behind #4075 as well. Putting the blocked/needs-envoy label back.

youngnick avatar Nov 10 '21 06:11 youngnick

#4075 was merged @youngnick

buroa avatar Jan 06 '22 20:01 buroa

any updates on this? Are there any WIP or milestone set for QUIC support?

m-yosefpor avatar Apr 23 '22 07:04 m-yosefpor

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.

moderation avatar Apr 23 '22 18:04 moderation

Is this planned for v1.24?

m-yosefpor avatar Oct 26 '22 13:10 m-yosefpor

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.

nefelim4ag avatar Nov 02 '22 13:11 nefelim4ag

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).

Jean-Daniel avatar Apr 05 '23 10:04 Jean-Daniel

fwiw Emissary has been supporting it since v3.0.0 of last summer (https://www.getambassador.io/docs/emissary/latest/topics/running/http3)

Quentin-M avatar Jun 26 '23 01:06 Quentin-M

Are there any plans to support http3 in next contour release since there is priority label set on this feature?

m-yosefpor avatar Aug 01 '23 21:08 m-yosefpor

I'd love to see it as well!

modzilla99 avatar Aug 02 '23 10:08 modzilla99

hello, any new on http3 support ?

Yuiie avatar Sep 02 '25 22:09 Yuiie

AWS just launched QUIC support for their NLB, now only support from contour is missing to support QUIC for ingress in our application.

Legion2 avatar Nov 14 '25 09:11 Legion2