underscores_in_headers

Директива `underscores_in_headers` позволяет использовать символы подчеркивания в именах HTTP-заголовков.

Синтаксисunderscores_in_headers on | off;
По умолчаниюoff
Контекстhttp, server
Аргументыflag

Описание

По умолчанию NGINX не разрешает использование подчеркиваний в именах HTTP-заголовков по соображениям безопасности, в частности чтобы избежать возможных конфликтов, связанных с поведением парсинга заголовков.

Директива underscores_in_headers изменяет это ограничение. Она может быть установлена в 'on' или 'off', где 'on' разрешает использование подчеркиваний в именах заголовков. Это особенно полезно при работе с конкретными API или клиентами, которые зависят от наличия подчеркиваний в именах заголовков.

Эту директиву можно использовать в контекстах http или server, что позволяет задавать глобальную или специфичную для сервера конфигурацию. Когда она включена, она применяется ко всем заголовкам, обрабатываемым NGINX, влияя как на входящие заголовки запросов, так и на исходящие заголовки ответов.

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

http {
    underscores_in_headers on;

    server {
        location / {
            # server configuration
        }
    }
}

Включение поддержки подчеркиваний в заголовках может подвергнуть ваше приложение потенциальным проблемам с некоторыми прокси или клиентами, которые некорректно обрабатывают такие заголовки.

Убедитесь, что функциональность, зависящая от подчеркиваний, тщательно протестирована после изменения конфигурации.

← Ко всем директивам