I would like to configure a cluster , type STRICT_DNS, with 2 upstream lb_endpoints, both of which will use TLS. One of these requires SNI and the other does not.
client ---(http)---> envoy ---(https) ---> {upstream1, upstream2}
The configuration below shows what I am trying. When envoy proxies to the endpoint that does not require SNI, it all works. When envoy proxies the request to the endpoint that requires SNI, the TLS handshake with the upstream fails.
upstream connect error or disconnect/reset before headers. reset reason: connection failure, transport failure reason: TLS error: 268436496:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE 268435610:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO
dns logging shows the DNS lookup for both endpoints has succeeded. The DNS names resolve to different IPv4 addresses.
Is it possible to configure a cluster to allow this? Any hints?
#### config snip
load_assignment:
cluster_name: service1
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address: