envoyproxy/envoy

Clean up default socket factory in TransportSocketMatcherImpl

Open

#19,149 opened on Dec 1, 2021

View on GitHub
 (33 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
bughelp wantedtech debt

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Title: Allow skipping use_alpn when auto_config is set for httpprotocoloptions

Description:

As a part of https://github.com/istio/istio/issues/36299 to enable case preserve for http1.1 headers, using auto_config breaks communication between istiod and ingress gateway as config push fails because envory rejects the clusters config with error

ALPN configured for cluster outbound|443||xx which has a non-ALPN transport socket.

For raw transport socket, if there is no alpn support where its simple tls for upstream, can we allow setting use_alpn to false as there is no over-ride option?

if (options.has_auto_config()) {
    use_http2_ = true;
    use_alpn_ = true;
  }

Goal is to ensure allowing http2 traffic to be passed via istio ingressgateway and at the same time cater to http1.1 case preserve for clusters using http1. Is there any trivial fix or suggestions to solve it optimally?

[optional Relevant Links:]

Details to reproduce in https://github.com/istio/istio/issues/36299

Contributor guide