28 апреля 2009 г. 18:17 пользователь Igor Sysoev <is@xxxxxxxxxxxxx> написал:
On Tue, Apr 28, 2009 at 05:31:58PM +0300, Flam Boyant wrote:
> Всем доброго времени суток!
> Возникла задача, невзирая на RFC и заголовки организовать принудительное
> кеширование с бекенда на пару минут - то есть кешировать все, невзирая на
> заголовки.
> (да, бекенд кривой, и поправить его к сожалению затруднительно)
>
> На сквиде можно сказать что то типа
>
> refresh_pattern . 5 0% 5 override-expire
> ignore-no-cache ignore-no-store ignore-private
>
> В nginx до версии 0.7.47 включительно все именно так и работает.
>
> А начиная с 0.7.48
> - Исправление: теперь nginx учитывает при кэшировании строки
> "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа бэкенда.
> уже не дает кешировать html.
>
> на 0.7.47 оставаться нет возможности - нужна proxy_cache_key
>
> Как наиболее просто добиться игнора Cache-Control и Expires в последней
> версии Nginx?
Сейчас - только добавить в бэкенд "X-Accel-Expires".
В следующей версии можно будет что-то вроде
Ясно, спасибо. Пока просто тупо поставил r->upstream->cacheable = 1 вместо r->upstream->cacheable = 0 в нужных местах в ngx_http_upstream.c
Завтра повожусь с бекендом.