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