Description:
With an additional field in SchemeHeaderTransformation use_upstream_scheme, the Router HTTP filter will use the upstream transport socket's protocol to set the scheme.
Examples:
client --HTTP--> envoy --HTTPS--> server: :scheme == https
client --HTTPS--> envoy --HTTP--> server: :scheme == http
Implementation:
Add an optional boolean to HttpConnectionManagerConfig and set scheme to host->transportSocketFactory().implementsSecureTransport() if that boolean is defined and is true
Relevant Links:
- PR removed deprecated field
envoy.reloadable_features.preserve_downstream_scheme
- Mitigation for this issue no longer applies
- Affects requests to C# grpc servers as demonstrated in this issue