$ssl_ciphers

Переменная $ssl_ciphers содержит список шифров SSL/TLS, используемых для текущего соединения. — NGINX Core (HTTP)

$ssl_ciphers NGINX Core (HTTP)

Описание

Переменная `$ssl_ciphers` в NGINX автоматически устанавливается при обработке HTTPS-запросов. Эта переменная содержит строковое представление наборов шифров, согласованных между клиентом и сервером в процессе SSL/TLS-рукопожатия. Она особенно полезна для целей логирования и отладки, поскольку позволяет администратору сервера выяснить, какие наборы шифров используются для защищённых соединений. Эта переменная заполняется только при включённом SSL-модуле в NGINX и применима только в server blocks, обрабатывающих SSL-соединения. Типичные значения для `$ssl_ciphers` могут выглядеть как 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384', представляя собой список имён наборов шифров, разделённых запятыми. Конкретные шифры, которые появятся в этой переменной, зависят от директивы конфигурации `ssl_ciphers`, определённой в контексте сервера NGINX, а также от возможностей и предпочтений клиента во время рукопожатия. На практике `$ssl_ciphers` также может способствовать реализации мер безопасности, таких как HSTS (HTTP Strict Transport Security), позволяя администраторам условно корректировать свои настройки на основе силы используемых шифров. Соблюдение протоколов безопасной связи повышает общую безопасность веб-приложений.

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

server {
    listen 443 ssl;
    ssl_certificate     /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
    access_log /var/log/nginx/ssl_ciphers.log combined;
}

location / {
    add_header X-Cipher-Used "$ssl_ciphers";
}

Подсистема

http

Кэшируется

Да

Контексты

http, server, location, if

Убедитесь, что модуль SSL скомпилирован и включён в вашей установке NGINX; в противном случае переменная будет пустой.

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

При логировании или отображении значения `$ssl_ciphers` обеспечьте надлежащую обработку, чтобы не раскрывать конфиденциальную информацию. В производственной среде отображение таких данных может представлять риск для безопасности.