srcache_store_pass_header

Директива `srcache_store_pass_header` указывает, какие HTTP-заголовки должны быть переданы из ответа upstream в сохраняемую запись кэша без изменений.

Синтаксисsrcache_store_pass_header header_name;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива srcache_store_pass_header является частью модуля ngx_srcache, который позволяет NGINX выполнять прозрачное кэширование на основе субзапросов. Эта директива используется для управления тем, какие заголовки в ответе upstream должны сохраняться и передаваться при сохранении ответов в кэше. По умолчанию NGINX настроен скрывать некоторые заголовки, которые обычно не имеют значения или являются чувствительными, такие как Set-Cookie или Connection. Однако с помощью srcache_store_pass_header администраторы могут указать отдельные заголовки, которые они хотят сохранить в кэше, гарантируя, что последующие клиенты смогут получить эти заголовки при обслуживании из кэша.

Синтаксис этой директивы позволяет ей принимать одно или несколько имён заголовков в качестве аргументов. Например, если вы хотите передать X-My-Custom-Header из ответа upstream в кэш, вы бы задали это так: srcache_store_pass_header X-My-Custom-Header;. Это может быть особенно полезно в сценариях, где определённые заголовки критичны для логики приложения или обработки клиента и не должны фильтроваться.
Когда указанные заголовки присутствуют в ответе от upstream-сервера, они будут включены в кэшированный ответ для будущих запросов, позволяя клиентам получать их напрямую, вместо того чтобы они удалялись в процессе кэширования. Нужно проявлять осторожность, поскольку передача чувствительной информации в заголовках может привести к уязвимостям безопасности, если это не контролируется должным образом.

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

location /example {
    srcache_store_pass_header X-My-Custom-Header;
    srcache_store my_cache;
}
⚠

Будьте осторожны при передаче заголовков, которые могут раскрывать конфиденциальную информацию.

⚠

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

⚠

Можно указать несколько заголовков, но их нужно перечислять отдельно. Например: srcache_store_pass_header X-Header1; srcache_store_pass_header X-Header2;

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