$ssl_client_s_dn
Переменная $ssl_client_s_dn содержит имя субъекта (DN) из SSL-сертификата клиента. — NGINX Core (HTTP)
Описание
Переменная $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;
}
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifУбедитесь, что `ssl_verify_client` установлен в `on` или `optional`, чтобы эта переменная была заполнена.
Если клиентский сертификат не предоставлен, `$ssl_client_s_dn` будет пустым.
Помните, что к этой переменной можно обращаться только в контекстах, где SSL включен.