srcache_store_pass_header
Директива `srcache_store_pass_header` указывает, какие HTTP-заголовки должны быть переданы из ответа upstream в сохраняемую запись кэша без изменений.
Описание
Директива 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;