proxy_ssl_name
Директива proxy_ssl_name задаёт SSL-имя хоста для проксируемого запроса. — NGINX HTTP Core
Описание
Директива proxy_ssl_name используется в модуле NGINX HTTP для установки значения заголовка 'Host' в проксированных SSL-запросах. Это значение хоста критично, когда бэкенд-сервер использует расширение SNI (Server Name Indication) для SSL, которое позволяет обслуживать несколько SSL-сертификатов с одного и того же IP-адреса. Настроив proxy_ssl_name, вы можете гарантировать отправку правильного имени хоста на бэкенд при выполнении запроса. Директива принимает один аргумент — имя хоста, которое NGINX будет использовать при пересылке SSL-запросов. Она может быть задана в контекстах http, server или location, что позволяет тонко управлять поведением SSL в разных областях конфигурации. Например, если у вас несколько upstream-серверов, которым требуются разные настройки SSL или разные имена хостов для успешного TLS-рукопожатия, вы можете указать proxy_ssl_name отдельно для каждого контекста. Если директива не задана, NGINX отправит исходный заголовок 'Host' из запроса клиента, что не всегда может соответствовать настройкам upstream и привести к ошибкам при установлении защищённого соединения.
Пример конфига
location /api {
proxy_pass https://backend.example.com;
proxy_ssl_name backend.example.com;
}Убедитесь, что указанный hostname совпадает с одним из SSL certificates на backend server, чтобы избежать SSL handshake failures.
Неправильная конфигурация может привести к уязвимостям безопасности, если в SSL communication используются неверные hostnames.