Re: вопрос про кэш

Anton Kiryushkin swood на fotofor.biz
Пт Янв 13 04:34:45 UTC 2012


я наблюдаю эту ситуацию при живых бэкендах.

пятница, 13 января 2012 г. пользователь Maxim Dounin <mdounin at mdounin.ru>
писал:
> Hello!
>
> On Fri, Jan 13, 2012 at 12:06:25AM +0400, Anton Kiryushkin wrote:
>
>> Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня
>> возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и
>> куке, которая появляется в браузере. Это ведь неверно или наоборот
>> правильное поведение?
>
> Если все бекенды недоступны, и в кеше есть (устаревший) ответ, то
> должен возвращаться ответ из кеша (при таких настройках
> proxy_cache_use_stale).  Т.е. это правильное поведение.
>
> Maxim Dounin
>
>>
>> 12 января 2012 г. 22:18 пользователь Maxim Dounin <mdounin at mdounin.ru>
написал:
>> > Hello!
>> >
>> > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote:
>> >
>> >> И еще возник вопрос про
>> >> proxy_cache_use_stale error timeout invalid_header updating http_500
>> >> http_502 http_503 http_504 http_404;
>> >>
>> >> Я правильно понимаю, что эта строчка означает примерно следующее:
>> >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул
>> >> некорректные заголовки и находится в процессе обновления - вернуть
>> >> ответ из кэша, иначе возвращать ответ от бэкенда?
>> >
>> > Да.
>> >
>> > Наблюдаемое поведение - это ошибка, неправильно обрабатывался
>> > случай, когда все бекенды были признаны мёртвыми, и nginx просто
>> > не пытался никуда ходить (в error_log'е при этом возникает
>> > сообщение "no live upstreams", и все бекенды объявляются снова
>> > живыми).
>> >
>> > Патч прилагается.
>> >
>> > Maxim Dounin
>> >
>> >>
>> >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin
>> >> <swood at fotofor.biz> написал:
>> >> > вдогонку, bcj = name_upstream.
>> >> >
>> >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin
>> >> > <swood at fotofor.biz> написал:
>> >> >> Пишется следующее:
>> >> >> """name_upstream""502""EXPIRED"
>> >> >> или """server1, server2""502, 502""-"
>> >> >> или """bcj""502""MISS"
>> >> >>
>> >> >> При этом время жизни кэша задано в 5 минут:
>> >> >>        location = / {
>> >> >>            proxy_ignore_headers Cache-Control Expires Set-Cookie;
>> >> >>            proxy_cache_bypass  $http_x_update;
>> >> >>
>> >> >>            proxy_cache cache_page;
>> >> >>            proxy_cache_key $scheme$host$request_uri;
>> >> >>            proxy_cache_valid 5m;
>> >> >>            proxy_hide_header "Set-Cookie";
>> >> >>
>> >> >>            proxy_cache_use_stale error invalid_header timeout
>> >> >> updating http_500 http_502 http_503 http_504 http_404;
>> >> >>
>> >> >>            proxy_pass  http://backend;
>> >> >>            proxy_set_header X-Real-IP $remote_addr;
>> >> >>            proxy_set_header Host $http_host;
>> >> >>            proxy_redirect default;
>> >> >>            proxy_buffering on;
>> >> >>
>> >> >>        }
>> >> >>
>> >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin <mdounin at mdounin.ru>
написал:
>> >> >>> Hello!
>> >> >>>
>> >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote:
>> >> >>>
>> >> >>>> Честно сказать дебаг я еще не делал. В обычном access
стандартный ответ 502.
>> >> >>>
>> >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr,
>> >> >>> $upstream_status, $upstream_cache_status (писать в access_log).
>> >> >>>
>> >> >>> Maxim Dounin
>> >> >>>
>> >> >>>>
>> >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin <

-- 
Best regards,
Anton Kiryushkin,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20120113/005f2d62/attachment-0001.html>


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