scgi_cache_valid
Директива 'scgi_cache_valid' определяет период времени, в течение которого кэшированные ответы на SCGI-запросы считаются действительными. — NGINX HTTP Core
Описание
Директива 'scgi_cache_valid' используется для настройки поведения кэширования ответов SCGI (Simple Common Gateway Interface) в зависимости от их кодов состояния. Директива позволяет администратору задавать разные продолжительности кэширования для разных HTTP-кодов ответов, что увеличивает контроль над механизмом кэширования. Когда ответ кэшируется, указанное время (в секундах) показывает, как долго ответ должен храниться в кэше, прежде чем он будет помечен как устаревший и потребуется отправка нового запроса к upstream service. Директива может принимать один или несколько аргументов, где каждый аргумент сопоставляет HTTP-код состояния с длительностью кэширования. Например, период кэширования для успешных ответов (например, 200) может отличаться от периода для ответов об ошибке (например, 404). Такая гибкость помогает оптимизировать использование кэша и обеспечить пользователям получение свежего контента при сохранении преимуществ производительности за счёт кэширования. Кроме того, 'scgi_cache_valid' используется внутри блоков 'http', 'server' или 'location', что позволяет применять её к конкретным маршрутам или виртуальным хостам. Она работает совместно с директивой 'scgi_cache', которая должна быть включена, чтобы кэширование вступило в силу. Если ответ на запрос соответствует определённому коду состояния и не превысил установленный срок, NGINX отдаст кэшированную версию вместо отправки нового запроса на backend, что повышает производительность и снижает нагрузку.
Пример конфига
http {
scgi_cache path/to/cache;
scgi_cache_valid 200 1h;
scgi_cache_valid 404 30m;
}Убедитесь, что 'scgi_cache' включён, чтобы кеширование работало корректно.
Будьте осторожны при установке длительных сроков кеширования для динамического содержимого, поскольку это может привести к выдаче устаревших данных.
Директива не работает изолированно; она полагается на дополнительные директивы для полной функциональности.