proxy_ssl_verify_depth

Директива `proxy_ssl_verify_depth` задаёт глубину проверки цепочек SSL-сертификатов при проксировании. — NGINX HTTP Core

proxy_ssl_verify_depth
httpserverlocation
Синтаксисproxy_ssl_verify_depth depth;
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `proxy_ssl_verify_depth` используется совместно с SSL/TLS‑соединениями, когда NGINX выступает в роли обратного прокси для бэкенд‑серверов, имеющих SSL‑сертификаты. Эта директива конкретно контролирует, сколько промежуточных сертификатов может быть в цепочке, ведущей к действительному, доверенному корневому сертификату в процессе валидации. Когда клиент подключается к серверу по HTTPS, проверка SSL‑сертификата может включать несколько уровней сертификатов, таких как корневые и промежуточные сертификаты и т.д. Директива `proxy_ssl_verify_depth` позволяет администратору задать максимальное количество таких промежуточных сертификатов, через которые может пройти проверка, прежде чем она завершится ошибкой. Если установлено значение `0`, это означает, что будет проверяться только конечный сертификат, а промежуточные — нет. Эта директива имеет решающее значение для установления безопасного соединения, так как помогает подтвердить подлинность SSL‑сертификатов, представляемых upstream‑серверами, и может способствовать предотвращению атак типа «человек посередине». Правильная настройка глубины гарантирует, что принимаются только действительные цепочки сертификатов, что поддерживает целостность и безопасность проксируемых соединений.

Пример конфига

location /api {
    proxy_pass https://backend;
    proxy_ssl_verify on;
    proxy_ssl_verify_depth 2;
}

Установка слишком малого значения verify depth может позволить недоверенным сертификатам пройти проверку, если они находятся всего в нескольких уровнях от root.

Директива сама по себе не настраивает проверку сертификатов; убедитесь, что вы также используете `proxy_ssl_verify on;` для вступления её в силу.