connect: Use Envoy HTTP Inspector to sniff TCP/HTTP/HTTP2 automatically
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/listener_filters/http_inspector
Envoy supports sniffing protocols and versions and choosing different filter chains.
Istio uses this (experimentally) to auto detect protocol.
We could do the same. One downside to balance would be the increased memory usage in Envoy due to installing TCP/HTTP/HTTP2 filter chains and routes into every listener vs just the one needed. We have the benefit of only installing upstream listeners that are actually necessary though. We also don't (yet) coallesce same-protocol upstreams to use a single listener which means the overhead of more listeners and http connection managers (the biggest component of memory increase) is less significant in the common case that most upstreams are HTTP*.
Contributor guide
Assessment
This issue has not been assessed yet.