scgi_no_cache

Директива `scgi_no_cache` управляет поведением серверного кеша для ответов SCGI. — NGINX HTTP Core

scgi_no_cache
httpserverlocation
Синтаксисscgi_no_cache condition;
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1+

Описание

Директива `scgi_no_cache` используется в контекстах `http`, `server` и `location` для задания условий, при которых ответы SCGI (Simple Common Gateway Interface) не должны кешироваться. С помощью этой директивы можно задать конкретные условия запроса, при которых необходимо обходить механизм кеширования, что позволяет обеспечить более динамичное поведение, адаптированное к отдельным запросам. Директива принимает один или несколько аргументов, которые могут быть переменными или условиями, определяющими, когда кеширование должно быть отключено. Каждое условие, переданное в виде аргумента, оценивается, и если выполняется хотя бы одно из условий, ответ SCGI не сохраняется в кеше. Это особенно полезно в ситуациях, когда ответы могут быть нестабильными или специфичными для пользователя, например когда данные часто обновляются или содержат конфиденциальную информацию. Расположение директивы `scgi_no_cache` может влиять на её работу. Если она указана внутри блока `location`, она будет применяться только к запросам, обрабатываемым этим location. Если определить её в блоке `server`, она затронет все location в рамках этого server, а при определении в блоке `http` — будет действовать глобально для сервера. Таким образом, директива обеспечивает гибкий контроль над поведением кеширования в зависимости от потребностей приложения.

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

server {
    location /example {
        scgi_pass 127.0.0.1:9000;
        scgi_no_cache $arg_nocache;
    }
}

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

Неправильная настройка директивы `scgi_no_cache` может привести к проблемам с производительностью, если ожидается использование кэширования.

Будьте внимательны к синтаксису; неверные условия могут привести к непредвиденному поведению или ошибкам.