Welcome! Log In Create A New Profile

Advanced

Re: несколько уровней upstream

Maxim Dounin
August 11, 2015 08:52AM
Hello!

On Tue, Aug 11, 2015 at 11:38:07AM +0300, denis wrote:

> 10.08.2015 12:52, denis пишет:
> >Добрый день
> >
> >как сделать такое:
> >первый запрос - всегда на основной апстрим, при таймауте на него же через
> >другой порт, и там неудача - на резерв. Последнее через backup, а как
> >первые два сделать? Второму серверу weight=0?
> можно ли сделать try_files @first @second @third =404?

Можно, но оно будет делать не то, о чём вы подумали. Все
аргументы try_files, кроме последнего - это файлы, существование
которых будет проверяться на диске.

Если нужно, чтобы в случае ошибок от бекенда обработка уходила в
другой location, то следует пользоваться директивой error_page,
см. http://nginx.org/r/error_page/ru. Там, в частности, есть
пример такого вида:

location / {
error_page 404 = @fallback;
}

location @fallback {
proxy_pass http://backend;
}

Таким образом можно обеспечить произвольную многоуровневую
обработку запроса. Чуть более сложный пример есть в описании
модуля memcached,
http://nginx.org/ru/docs/http/ngx_http_memcached_module.html:

location / {
set $memcached_key "$uri?$args";
memcached_pass host:11211;
error_page 404 502 504 = @fallback;
}

location @fallback {
proxy_pass http://backend;
}

В случае, если требуется более одного перенаправления, необходимо
также разрешить множественные перенаправления с помощью директивы
recursive_error_pages, см. http://nginx.org/r/recursive_error_pages/ru.

Ну и не надо забывать, что явно описанная группа серверов сама по
себе обеспечивает опрос нужного количества серверов в случае
ошибок, см. http://nginx.org/r/proxy_next_upstream/ru.

--
Maxim Dounin
http://nginx.org/

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

несколько уровней upstream

denis August 10, 2015 05:54AM

Re: несколько уровней upstream

denis August 11, 2015 04:40AM

Re: несколько уровней upstream

Maxim Dounin August 11, 2015 08:52AM

Re: несколько уровней upstream

denis August 11, 2015 11:36AM

Re[2]: несколько уровней upstream

Михаил Монашёв August 12, 2015 02:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 260
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