Re: nginx-1.7.9 + ngx_cache_purge 2.3 теперь работает только при совпадении заголовка Accept :(
    Maxim Dounin 
    mdounin at mdounin.ru
       
    Thu Jan 15 14:24:56 UTC 2015
    
    
  
Hello!
On Thu, Jan 15, 2015 at 03:54:23PM +0200, Олег Черній wrote:
> Сегодня удивил эксперимент, при котором запрашивался блок, ложился в кэш и
> без проблем этот кэш можно было почистить из браузера.
> 
> Но при попытке запросить это же адрес на очистку из curl или wget получал
> 404 и кеш не чистился.
> 
> Как оказалось это реакция на несовпадение заголовка "Accept" при запросе
> контента, который помещается в кэш и запроса который этот контент должен
> удалить. Если заголовки совпадают -- все Ok, если нет - 404 и кэш не
> чиститься.
[...]
> В бинарной части вначале файлика с кэшем видно, что добавился "запакованый"
> заголовок "Accept", видимо проблема связана с этим.
> 
> Не придумал ничего лучшего чем откатиться до nginx 1.7.6 + ngx_cache_purge
> 2.1 -- там этой проблемы нет. Может в кэше можно этот "Accept" как-то
> отрубить?
Начиная с 1.7.7 nginx умеет обрабатывать заголовок Vary в ответах 
бекенда, кешируя несколько вариантов ответа:
    *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
       заголовке ответа бэкенда.
Если нужно, старое поведение можно вернуть с помощью директивы 
proxy_ignore_headers (http://nginx.org/r/proxy_ignore_headers/ru):
    proxy_ignore_headers Vary;
Совсем правильное решение - убрать из ответов Vary бекенда, если 
он вам на самом деле не нужен.
-- 
Maxim Dounin
http://nginx.org/
    
    
Подробная информация о списке рассылки nginx-ru