Does ALB send SNI information in TLS handshake to a back-end server

0

I am trying to setup HTTPS end-to-end connection from my browser to a server running on an EC2 instance through ALB. The front-end connection from my browser to ALB goes through fine. But, the ALB to back-end TLS handshake fails as server_name extension (SNI information) is not sent by ALB during TLS Client Hello handshake (as I see in packet-capture).

Is there a way to forward SNI information received from front-end https connection by ALB to the back-end https connection too?

已提問 2 年前檢視次數 3011 次
1 個回答
0

Hello, You mention that you are trying to send SNI information to your backend by the means an ALB. As you mentioned the load balancer does not forward the SNI to the respective targets when the connection is between the load balancer and the target over TLS. The Application Load Balancer does not look for a domain name when processing the TLS handshake with the backend. It is merely there to make sure that you have a valid certificate with the accepted ciphers.

The solution to workaround it would be:

1. Use a NLB with a TCP:443 listener which would pass the SNI extension specified by the client to the targets[1].

2. Making use of ALB SNI abilities to check the Domain name and then forward to different target groups [2].

References:

[1] https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html#listener-configuration

[2] https://aws.amazon.com/blogs/aws/new-application-load-balancer-sni/

Antonio
已回答 2 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南