scgi_pass_header
Директива `scgi_pass_header` позволяет указать заголовки, которые должны быть переданы от SCGI-сервера в ответе клиенту. — NGINX HTTP Core
Описание
Директива `scgi_pass_header` используется в конфигурациях NGINX для управления пересылкой определённых заголовков от SCGI-сервера клиенту. При настройке NGINX гарантирует, что указанные заголовки, включённые в ответ SCGI, будут отправлены вместе с HTTP-ответом. Это особенно полезно для сохранения важной метадаты, предоставляемой SCGI-приложением, например типа содержимого или любых пользовательских заголовков приложения, которые могут потребоваться клиенту. Директива рассчитана на приём одного аргумента, который представляет собой имя заголовка, подлежащего передаче. Директива может применяться в контекстах `http`, `server` или `location`, что обеспечивает гибкость применения в зависимости от области конфигурации. Если требуется несколько заголовков, директиву можно указать несколько раз, по одному разу для каждого включаемого заголовка. Кроме того, важно убедиться, что указанные заголовки действительно присутствуют в ответе SCGI; в противном случае они не будут отправлены клиенту, что приведёт к неполноте передаваемых данных. На практике эта директива работает путём перехвата заголовков, входящих в ответ от SCGI-сервера. Указывая, какие заголовки передавать, администраторы могут тонко настроить поведение на стороне клиента и управление данными, обеспечивая информирование клиентов обо всей необходимой информации и адаптацию к конкретным требованиям обслуживаемого приложения.
Пример конфига
server {
listen 80;
location /myapp {
scgi_pass 127.0.0.1:9000;
scgi_pass_header X-My-Custom-Header;
scgi_pass_header Content-Type;
}
}Помните, что нужно использовать точный регистр имени заголовка, поскольку в некоторых контекстах HTTP-заголовки чувствительны к регистру.
Если заголовок отсутствует в ответе SCGI, он не появится в ответе клиенту, что может ввести в заблуждение.
Использование слишком большого количества директив `scgi_pass_header` без необходимости может привести к ухудшению производительности, так как заголовки обрабатываются и передаются по одному.