$ssl_sigalg
Переменная $ssl_sigalg возвращает алгоритм подписи, использованный при SSL-рукопожатии защищённого соединения. — NGINX Core (HTTP)
Описание
Переменная $ssl_sigalg устанавливается в процессе SSL-рукопожатия, конкретно когда клиент устанавливает защищённое соединение с сервером NGINX. Эта переменная фиксирует и предоставляет информацию об алгоритме подписи, использованном при обмене, что важно для аудита, логирования или условных настроек, основанных на параметрах безопасности, установленных во время соединения. Типичные значения для $ssl_sigalg могут включать различные криптографические алгоритмы, используемые в SSL/TLS-коммуникации, такие как `SHA256 with RSA Encryption`, `SHA1` или даже подписи `ECDSA`, среди прочих, в зависимости от SSL-конфигурации сервера и поддерживаемых клиентом протоколов. По мере эволюции протоколов SSL/TLS доступные алгоритмы и их представления также могут меняться, что отразится в значениях, возвращаемых этой переменной. Переменная обычно используется в сценариях, где требуется специфическая обработка в зависимости от стойкости алгоритма подписи, позволяя администраторам сервера применять политики безопасности. Переменная $ssl_sigalg в первую очередь используется в контексте виртуальных серверов с включённым SSL, где она может применяться в условных выражениях в директивах вроде `if`, или просто выводиться в форматах логов для целей мониторинга. Она добавляет уровень настраиваемости и информативности для пользователей, желающих обеспечить безопасные практики в отношении алгоритмов подписи, используемых клиентами, подключающимися к их сервисам.
Пример конфига
log_format custom_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$ssl_sigalg"'; access_log /var/log/nginx/access.log custom_format;
Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifУбедитесь, что SSL включён и настроен правильно, иначе переменная не будет установлена или доступна.
Значение $ssl_sigalg доступно только в контекстах, где устанавливается SSL; на обычных HTTP-соединениях оно не будет давать никакого вывода.