Welcome! Log In Create A New Profile

Advanced

Re: upstream fail_timeout

Maxim Dounin
October 23, 2011 12:32PM
Hello!

On Sun, Oct 23, 2011 at 05:55:06PM +0300, Sergey Kobzar wrote:

> On 10/23/11 17:49, Maxim Dounin wrote:
> >Hello!
> >
> >On Sat, Oct 22, 2011 at 06:08:43PM +0300, Sergey Kobzar wrote:
> >
> >[...]
> >
> >>Есть одна проблема при max_fails> 1 - клиенту будет одана
> >>стандартная error page, N раз (пока Nginx не выкинет дохлый бэкенд
> >
> >Это не имеет никакого отношения ни к max_fails (т.к. даже при
> >max_fails == 1 клиенту будет отдана ошибка, если таки ошибка
> >произойдёт), ни собственно к обсуждаемому вопросу (как
> >обрабатывать ошибки на фронтенде, и обрабатывать ли вообще, -
> >вопрос совершенно отдельный).
> >
> >>из пула). В принципе это не критично при высокой нагрузке, т.к.
> >>пострадают всего пару человек. Решение - описать custom error page 2
> >>раза - на фронтенде + на backup сервере.
> >
> >Я лично предпочитаю использовать proxy_intercept_errors, это
> >позволяет централизованно конфигурировать страницы ошибок на
> >фронтенде/ах. Но, по понятным причинам, такой подход не всегда
> >применим.
>
> Максим, а можно немного подробней про proxy_intercept_errors с
> примером? Из документации не совсем все понятно.


Директива proxy_intercept_errors позволяет перехватывать 4xx, 5xx
ошибки, возвращённые бекендом, и выдавать вместо них то, что
задано с помощью директивы error_page.

Пример:

location / {
proxy_pass http://backend;
proxy_intercept_errors on;
error_page 404 /404.html;
}

location = /404.html {
# serve static file here
}

Если бекенд ответит 404, то клиенту уйдёт ответ 404 с телом из
/404.html (а не то, что прислал бекенд).

> Если бэкенд сдулся окончательно, то что от него можно требовать?

Если бекенд сдулся окончательно - то proxy_intercept_errors роли
не играет. Он имеет смысл только в том случае, если бекенд ещё
способен вернуть ответ.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

upstream fail_timeout

sergey.kobzar October 20, 2011 09:02AM

Re: upstream fail_timeout

sergey.kobzar October 21, 2011 07:48AM

Re: upstream fail_timeout

Maxim Dounin October 21, 2011 08:42AM

Re: upstream fail_timeout

sergey.kobzar October 21, 2011 08:54AM

Re: upstream fail_timeout

Maxim Dounin October 21, 2011 09:06AM

Re: upstream fail_timeout

sergey.kobzar October 21, 2011 10:58AM

Re: upstream fail_timeout

Maxim Dounin October 21, 2011 11:14AM

Re: upstream fail_timeout

sergey.kobzar October 22, 2011 11:10AM

Re: upstream fail_timeout

Maxim Dounin October 23, 2011 10:52AM

Re: upstream fail_timeout

sergey.kobzar October 23, 2011 10:56AM

Re: upstream fail_timeout

Maxim Dounin October 23, 2011 12:32PM

Re: upstream fail_timeout

sergey.kobzar October 25, 2011 10:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 121
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready