Назад | Перейти на главную страницу

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

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

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

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

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

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