$ssl_client_s_dn

Переменная $ssl_client_s_dn содержит имя субъекта (DN) из SSL-сертификата клиента.

Описание

Переменная $ssl_client_s_dn заполняется, когда клиент предоставляет действительный SSL/TLS-сертификат во время обмена рукопожатием SSL/TLS, и содержит имя субъекта (DN) клиента, указанное в этом сертификате. Эта переменная извлекается из сертификата клиента и служит способом идентификации владельца сертификата путём представления атрибутов имени субъекта, которые обычно включают информацию, такую как common name, organization, country и другие соответствующие поля. Наличие и содержимое этой переменной зависят от установки директивы ssl_verify_client в значение "on" или "optional", что гарантирует, что NGINX требует либо запрашивает клиентский сертификат. Только после успешной проверки действительного клиентского сертификата эта переменная становится доступна в контексте NGINX.

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

server {
    listen 443 ssl;
    ssl_certificate /path/to/server.crt;
    ssl_certificate_key /path/to/server.key;
    ssl_verify_client on;

    location / {
        if ($ssl_client_s_dn) {
            add_header X-Client-DN $ssl_client_s_dn;
        }
    }
}

Убедитесь, что ssl_verify_client установлен в on или optional, чтобы эта переменная была заполнена.

Если клиентский сертификат не предоставлен, $ssl_client_s_dn будет пустым.

Помните, что к этой переменной можно обращаться только в контекстах, где SSL включен.

← Ко всем переменным