proxy_pass_header
Директива `proxy_pass_header` указывает, какие заголовки должны быть переданы от проксируемого сервера клиенту. — NGINX HTTP Core
Описание
Директива `proxy_pass_header` используется в контексте блоков `http`, `server` или `location` в конфигурационных файлах NGINX. Эта директива позволяет пользователю указать конкретные HTTP-заголовки, которые должны быть включены в HTTP-ответ от сервера NGINX к клиенту, когда ответ формируется проксируемым сервером. По умолчанию NGINX будет передавать определённые заголовки от upstream server клиенту, но директива `proxy_pass_header` даёт пользователям гибкость добавлять или ограничивать конкретные заголовки в зависимости от их потребностей. Это может быть особенно полезно при управлении безопасностью, поведением кэширования или при кастомизации ответов в зависимости от окружения. При использовании `proxy_pass_header` можно указать несколько заголовков, что позволяет тонко настроить, какие заголовки нужно пропускать. Например, если проксируемый сервер устанавливает пользовательский заголовок, который клиентам необходимо получить, эта директива может гарантировать пересылку заголовка вместе с ответом обратно исходному клиенту. И наоборот, если существуют заголовки, которыми не следует делиться по соображениям безопасности или конфиденциальности, эта директива позволяет контролировать такое поведение. Важно понимать последствия изменения заголовков, особенно в контексте безопасности, кэширования и совместимости с клиентами.
Пример конфига
location /api {
proxy_pass http://backend;
proxy_pass_header X-Custom-Header;
}Убедитесь, что указанные заголовки присутствуют в ответе от вышестоящего сервера; в противном случае они не будут переданы клиенту.
Использование слишком большого количества заголовков может увеличить размер ответа, поэтому передавайте только те, которые необходимы.