scgi_pass_request_headers
Директива 'scgi_pass_request_headers' контролирует, пересылает ли NGINX заголовки SCGI-запроса на бэкенд. — NGINX HTTP Core
Описание
Директива 'scgi_pass_request_headers' используется в модуле SCGI NGINX, чтобы определить, следует ли передавать информацию о заголовках запроса от клиента на SCGI-бэкенд. Когда эта директива включена (установлена в 'on'), NGINX будет пересылать заголовки на бэкенд, что может быть необходимо для фреймворков или приложений, которые полагаются на эти заголовки при обработке. В свою очередь, если она установлена в 'off', NGINX не будет отправлять заголовки запроса на бэкенд, что может быть полезно для оптимизации производительности в тех случаях, когда заголовки не нужны. Директиву можно использовать в нескольких контекстах, включая 'http', 'server' и 'location'. По умолчанию директива установлена в 'off'. Поэтому, если администратор явно не указал иначе, заголовки не будут передаваться на SCGI-бэкенд, что может привести к неожиданному поведению, если эти заголовки необходимы для обслуживаемого приложения. Следовательно, при настройке этой директивы требуется тщательное обдумывание, чтобы обеспечить, что необходимые заголовки действительно пересылаются, особенно для приложений, которые зависят от аутентификации или конкретных данных клиента.
Пример конфига
location /scgi {
scgi_pass your_backend;
scgi_pass_request_headers on;
}Забыть включить эту директиву, когда ваше backend application требует определённых заголовков.
Использование этой директивы в неправильном контексте, например внутри условий 'if', может привести к непредвиденным результатам. Убедитесь, что вы размещаете её внутри блоков 'http', 'server' или 'location'. Перед использованием убедитесь, что SCGI backend правильно настроен для обработки передаваемых заголовков.