Re: proxy_cache_valid any 0; игнорируется

Roman Arutyunyan arut на nginx.com
Чт Июн 22 12:59:04 UTC 2017


Добрый день,

On Thu, Jun 22, 2017 at 11:20:53AM +0300, Sergey Kagansky wrote: > Добрый день.
> Столкнулся с непонятной ситуацией.
> Есть такой конфиг:
> 
> proxy_cache_path /data/cache/nginx/cache levels=1:2 keys_zone=all:32m
> max_size=1g;
>  location / {
>    proxy_cache          all;
>    proxy_cache_valid 404 5m;
>    proxy_cache_valid any 0;
>   ....
>  }
> 
> Требуется кешировать ТОЛЬКО 404 ответы, но нгинкс игнорирует строку
>  proxy_cache_valid any 0;
> Что может приводить к этому? Или как это отловить?
> Больше в конфигах ничего про кэш нигде не указано.
> Пробовал с разными версиями нгинкс: 1.7.12, 1.11.1, 1.11.5, 1.12.0

Приводить к этому может то, что в самом ответе задано другое время.

  Параметры кэширования могут также быть заданы непосредственно в заголовке
  ответа. Такой способ приоритетнее, чем задание времени кэширования с помощью
  директивы.

http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_valid

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

-- 
Roman Arutyunyan


Подробная информация о списке рассылки nginx-ru