Возможно ли указать proxy_ssl_name для такой конфигурации, чтобы при обращении к 1-му и 2-му серверу SNI подставлялся соответствующий upstream серверу?
upstream backend {
server server1.ru:9443;
server server2.ru:9443;
keepalive 16;
}
server {
listen 4443;
location / {
proxy_pass https://backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_ssl_name ???
proxy_ssl_server_name on;
}
}
В целом, концепция балансировки между бэкэндами предусматривает что они обрабатывают запросы одинаково. В том числе, это касается SNI.
Есть не очень “красивый”, но рабочий воркэраунд с двойным проксированием, примерно так:
Да, вы правы, пассивные проверки придется настраивать в двух местах, что увеличивает сложность. В таком случае, более предпочтительно видится настроить бэкэнды, чтобы они обрабатывали SNI одинаково.