пятница, 13 января 2012 г. пользователь Maxim Dounin <mdounin@xxxxxxxxxx> писал: > 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@xxxxxxxxxx> написал: >> > 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@xxxxxxxxxxx> написал: >> >> > вдогонку, bcj = name_upstream. >> >> > >> >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin
>> >> > <swood@xxxxxxxxxxx> написал: >> >> >> Пишется следующее: >> >> >> """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@xxxxxxxxxx> написал:
>> >> >>> 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 <