$ssl_client_sigalg
Переменная $ssl_client_sigalg содержит алгоритм подписи, использованный в SSL-сертификате клиента. — NGINX Core (HTTP)
Описание
Переменная $ssl_client_sigalg устанавливается, когда клиент предоставляет SSL-сертификат в ходе TLS-рукопожатия. Она хранит алгоритм подписи, которым был подписан сертификат клиента. Эта переменная критически важна для приложений, которые проверяют клиентские сертификаты и могут принять решение о предоставлении или отказе в доступе на основании уровня безопасности алгоритма подписи. Значения $ssl_client_sigalg могут различаться; распространённые алгоритмы включают 'sha256WithRSAEncryption', 'sha1WithRSAEncryption' и другие, в зависимости от конфигурации клиента и политик безопасности. NGINX будет устанавливать эту переменную только в контекстах, где включены клиентские SSL-сертификаты, конкретно в блоках 'server' и 'location', где директива ssl_verify_client установлена в 'on' или 'optional'. Если клиентский сертификат не предоставлен, переменная будет пустой. Это особенно полезно для ведения логов или отладки, поскольку позволяет администраторам серверов увидеть, какие алгоритмы подписи используют клиенты при обращении к их сервисам, и принимать обоснованные решения на основе этой информации. Кроме того, изменения в конфигурациях клиентского SSL могут изменить генерируемые здесь значения и должны соответствующим образом контролироваться.
Пример конфига
server {
listen 443 ssl;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
ssl_client_certificate /path/to/client_ca.crt;
ssl_verify_client on;
location / {
if ($ssl_client_sigalg = 'sha256WithRSAEncryption') {
# Log or take action for clients using SHA256
access_log /var/log/nginx/ssl.log;
}
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifЭта переменная будет пустой, если проверка SSL-клиента не включена или клиент не предоставляет сертификат.
Неправильная настройка SSL‑контекста может привести к тому, что переменная не будет установлена, что вызовет непредвиденное поведение в вашей логике доступа.