28 апреля 2009 г. 18:17 пользователь Igor Sysoev <span dir="ltr"><<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>></span> написал:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On Tue, Apr 28, 2009 at 05:31:58PM +0300, Flam Boyant wrote:<br>
<br>
> Всем доброго времени суток!<br>
> Возникла задача, невзирая на RFC и заголовки организовать принудительное<br>
> кеширование с бекенда на пару минут - то есть кешировать все, невзирая на<br>
> заголовки.<br>
> (да, бекенд кривой, и поправить его к сожалению затруднительно)<br>
><br>
> На сквиде можно сказать что то типа<br>
><br>
> refresh_pattern . 5 0% 5 override-expire<br>
> ignore-no-cache ignore-no-store ignore-private<br>
><br>
> В nginx до версии 0.7.47 включительно все именно так и работает.<br>
><br>
> А начиная с 0.7.48<br>
> - Исправление: теперь nginx учитывает при кэшировании строки<br>
> "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа бэкенда.<br>
> уже не дает кешировать html.<br>
><br>
> на 0.7.47 оставаться нет возможности - нужна proxy_cache_key<br>
><br>
> Как наиболее просто добиться игнора Cache-Control и Expires в последней<br>
> версии Nginx?<br>
<br>
</div></div>Сейчас - только добавить в бэкенд "X-Accel-Expires".<br>
В следующей версии можно будет что-то вроде<br>
<br>
proxy_ignore_header Cache-Control;<br>
proxy_ignore_header Expires;<br>
<font color="#888888"><br></font></blockquote></div>Ясно, спасибо.<br>Пока просто тупо поставил <br>r->upstream->cacheable = 1<br>вместо<br> r->upstream->cacheable = 0<br>в нужных местах в ngx_http_upstream.c<br>
Завтра повожусь с бекендом.<br><br>