<div dir="ltr"><div>все верно, первый бекенд - с максимальным весом, бекапом - следующий (который устроен аналогично)</div><div><br></div><div>но я бы не играл с error_page, это запутано получается. что именно редиректить на error_page, 502 ? 504 ? собственные 502 или проксированные ?</div><div>в общем, сложно это.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">пт, 6 нояб. 2020 г. в 23:17, Nikita Koshikov <<a href="mailto:koshikov@gmail.com">koshikov@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Спасибо,<br>
Имеется ввиду два бекенда один из который с backup ?<br>
<br>
upstream c1 {<br>
server [::1]:81 ;<br>
server [::1]:82 backup;<br>
}<br>
<br>
upstream c2 {<br>
server [::1]:83 ;<br>
server [::1]:84 backup;<br>
}<br>
<br>
server {<br>
location {<br>
proxy_pass <a href="http://c1" rel="noreferrer" target="_blank">http://c1</a><br>
error_page @c2<br>
}<br>
}<br>
Или что-то другое ?<br>
<br>
On Fri, Nov 6, 2020 at 9:52 AM Илья Шипицин <<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>> wrote:<br>
><br>
> можно проксировать на самого себя каскадом.<br>
> на каждом каскаде 2 бекенда<br>
><br>
> пт, 6 нояб. 2020 г. в 22:40, Nikita Koshikov <<a href="mailto:koshikov@gmail.com" target="_blank">koshikov@gmail.com</a>>:<br>
>><br>
>> Доброго всем времени суток<br>
>><br>
>> Подскажите как можно сделать что-то максимально подобное для выбора<br>
>> backend сервера по приоритету, в идеале нужно что-то<br>
>><br>
>> upstream backend {<br>
>> server [::1]:81 priority=1;<br>
>> server [::1]:82 priority=2;<br>
>> server [::1]:83 priority=3;<br>
>> server [::1]:84 priority=4;<br>
>> server [::1]:85 priority=5;<br>
>> }<br>
>> т.е. пока жив хоть один с более высоким приоритетом - слать запросы на него ?<br>
>><br>
>> Из того что пробовал<br>
>> upstream backend {<br>
>> server [::1]:81 weight=1;<br>
>> server [::1]:83 backup;<br>
>> }<br>
>> Так работает - однако не поддерживает 2+ бекенда<br>
>><br>
>> Из самого близкого что удалось сделать - через hash со статичным ключом<br>
>> upstream backend {<br>
>> hash 'http_balance';<br>
>> server [::1]:81 weight=1 fail_timeout=60;<br>
>> server [::1]:82 weight=2 fail_timeout=60;<br>
>> server [::1]:83 weight=3 fail_timeout=60;<br>
>> }<br>
>> Проблема только что веса не всегда работают, - в данной конфигурации<br>
>> выбирается server:82, хотя у 83 более высокий weight. Полная цепочка<br>
>> при отказах - 82->83->81<br>
>> Учитывается ли вес в такой конфигурации ?<br>
>> С более высокими весами начинает работать как нужно 83->82->81<br>
>> upstream backend {<br>
>> hash 'http_balance';<br>
>> server [::1]:81 weight=1 fail_timeout=60;<br>
>> server [::1]:82 weight=10 fail_timeout=60;<br>
>> server [::1]:83 weight=100 fail_timeout=60;<br>
>> }<br>
>> Хотелось бы понимать это совпадение или веса принимаются в расчет при<br>
>> выборе hash-а?<br>
>> _______________________________________________<br>
>> nginx-ru mailing list<br>
>> <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
>> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>