proxy_ssl_verify_depth

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

Синтаксисproxy_ssl_verify_depth depth;
По умолчаниюnone
Контекстhttp, server, location
Аргументы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; для вступления её в силу.

← Ко всем директивам