Как nginx обрабатывает $proxy_host как SNI

Как nginx обрабатывает $proxy_host как SNI

Настройка: У меня есть клиент nginx, который отправляет HTTPS-запрос на исходный сервер nginx.

Я проводил исследование того, как директива 'proxy_ssl_name' может быть использована для перезаписи SNI. Согласно официальной документации nginx, значение по умолчанию, используемое 'proxy_ssl_name', — $proxy_host.

В моем случае значение $proxy_host — это имя блока сервера upstream ('ups_server'). Я вижу, что 'ups_server' отправляется как SNI с моего клиентского сервера. Я не могу понять, как исходный сервер отправляет правильный сертификат обратно моему клиенту, когда он получает SNI, который не совпадает ни с одним из поддерживаемых доменных имен.

Может ли кто-нибудь помочь мне это понять?

решение1

Исходный сервер отправляет serverсертификат блока по умолчанию, если ни один serverблок не соответствует SNI.

Связанный контент