$ssl_cipher
Переменная $ssl_cipher содержит имя шифра, используемого для SSL/TLS соединений. — NGINX Core (HTTP)
Описание
Переменная $ssl_cipher в NGINX предоставляет имя набора шифров, который в данный момент используется для SSL/TLS‑соединения. Эта переменная особенно полезна для целей логирования и отладки, так как позволяет администраторам определить, какой шифр был согласован для защищённых соединений. Значение $ssl_cipher устанавливается во время процесса SSL‑рукопожатия, который происходит, когда клиент инициирует соединение по HTTPS. В зависимости от выбранного набора шифров переменная $ssl_cipher может содержать значения, например 'ECDHE-RSA-AES256-GCM-SHA384' или 'ECDHE-ECDSA-CHACHA20-POLY1305' и др. При настройке SSL/TLS в NGINX важно учитывать шифры, поддерживаемые как сервером NGINX, так и SSL‑реализацией клиента. Поддерживаемые шифры можно задать в конфигурационном файле NGINX с помощью директивы ssl_ciphers. Эффективное значение $ssl_cipher будет отражать конфигурацию, заданную этой директивой, и может также зависеть от версии OpenSSL, использованной при сборке NGINX. Если клиент попытается подключиться, используя шифр, который не поддерживается сервером, соединение не установится, и переменная $ssl_cipher не будет задана. Помимо присутствия во время обработки SSL‑соединения, $ssl_cipher также можно использовать вместе с директивами логирования для фиксации данных, связанных с безопасностью, что помогает при анализе и мониторинге защищённых сессий. Такая видимость помогает лучше понимать соединения клиентов, обеспечивать соблюдение требований безопасности и оптимизировать конфигурации шифров.
Пример конфига
server {
listen 443 ssl;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
ssl_ciphers 'HIGH:!aNULL:!MD5';
access_log /var/log/nginx/access.log combined;
location / {
add_header X-SSL-Cipher $ssl_cipher;
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, locationУбедитесь, что SSL правильно включён в конфигурации NGINX; в противном случае переменная не будет установлена.
Учтите, что значение $ssl_cipher зависит как от конфигурации сервера, так и от возможностей клиента; несоответствия могут привести к сбоям соединения.
При сочетании с логированием убедитесь, что логи правильно отформатированы, чтобы фиксировать значения шифров, не нарушая формат журнала. Они могут засорять вывод, если с ними неправильно обращаться.