ajp_pass_request_headers

Директива `ajp_pass_request_headers` контролирует, передаёт ли NGINX заголовки запроса AJP-бэкенд-серверу.

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

Описание

Директива ajp_pass_request_headers позволяет указать, следует ли NGINX пересылать заголовки запроса клиента AJP-бэкенду при обработке запросов. Установив этот параметр в 'on', NGINX будет включать указанные заголовки запроса, такие как 'User-Agent', 'Accept', 'Host' и т. д., в свои AJP-запросы. Это особенно полезно для приложений, которые зависят от этих заголовков для корректной обработки клиентских запросов.

Директива действует в контексте блоков http, server или location в конфигурации NGINX. Если она включена, это гарантирует, что ваше бэкенд-приложение получит необходимую информацию о клиенте, что может повлиять на формирование ответов (например, персонализацию ответов на основе заголовка User-Agent). Если параметр установлен в 'off', приложение может не получить важные метаданные, необходимые для правильной обработки запросов.

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

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

http {
    upstream tomcats {
        server 127.0.0.1:8009;
    }

    server {
        listen 80;

        location / {
            ajp_pass tomcats;
            ajp_pass_request_headers on;
        }
    }
}

Непередача заголовков может привести к непредвиденному поведению приложения из-за отсутствия метаданных.

Если включено, производительность может снизиться из-за увеличения размера AJP-запросов.

Убедитесь, что бэкенд корректно обрабатывает все пересылаемые заголовки, чтобы избежать проблем.

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