ajp_pass_request_headers
Директива `ajp_pass_request_headers` контролирует, передаёт ли NGINX заголовки запроса AJP-бэкенд-серверу.
Описание
Директива 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-запросов.
Убедитесь, что бэкенд корректно обрабатывает все пересылаемые заголовки, чтобы избежать проблем.