Re: nginx-1.7.9 + ngx_cache_purge 2.3 теперь работает только при совпадении заголовка Accept :(

Олег Черній oleg.cherniy at gmail.com
Thu Jan 15 15:29:39 UTC 2015


Спасибо за ответ!

2015-01-15 16:24 GMT+02:00 Maxim Dounin <mdounin at mdounin.ru>:

> 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;
>

Не помогло, в файлике кеша в бинарной части нету "Accept", но далее в
тексте в заголовках есть "Vary: Accept" и все также не работает при разных
"Accept".

Совсем правильное решение - убрать из ответов Vary бекенда, если
> он вам на самом деле не нужен.
>

Это помогло, сначала вырубил на бекенде без анализа кода:
more_clear_headers 'Vary';

Потом нашел установку заголовка в движке. Большое спасибо -- проблема
решена.


>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
---
С уважением, Олег Черний,
руководитель отдела разработки  AUTO.RIA.com

RIA.com
тел./факс.: 0 432 555-200 (многоканальний)
моб: 0 (67) 295-27-52
E-mail: *oleg.cherniy at ria.ua <oleg.cherniy at ria.ua>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20150115/f3f2122a/attachment.html>


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