proxy_no_cache

Директива `proxy_no_cache` предотвращает кэширование для указанных запросов в прокси-модуле NGINX.

Синтаксисproxy_no_cache condition | = | 0 | 1;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1+

Описание

Директива proxy_no_cache используется в прокси-модуле NGINX для управления поведением кэширования ответов от upstream. С помощью этой директивы вы можете задать условия, которые будут определять, может ли ответ быть закэширован или нет. Директивы позволяют использовать булевы выражения, оценивающиеся как true или false, что обеспечивает гибкость в управлении хранилищем кэша на основе различных параметров запроса, таких как заголовки, cookie и переменные. Когда заданное условие оценивается как true, NGINX не кэширует ответ, фактически обходя сохранение в кэше.

Эта директива поддерживает один или несколько аргументов, позволяя администраторам точно настраивать логику кэширования в соответствии с потребностями приложения. На практике вы можете захотеть предотвратить кэширование для аутентифицированных пользователей или для определённых типов запросов; например, если запрос содержит определённое значение cookie или присутствует заголовок. В результате получается эффективный механизм, гарантирующий, что чувствительные или пользовательские данные будут предоставляться свежими с бэкенд-сервера без кэширования.

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

location /api {
    proxy_pass http://backend;
    proxy_no_cache $http_cache_control;
}

Убедитесь, что условия, передаваемые в proxy_no_cache, настроены правильно; в противном случае поведение кэширования может работать не так, как ожидается.

Использование сложных булевых выражений может затруднить отладку проблем с кэшированием.

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

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