Welcome! Log In Create A New Profile

Advanced

Re: proxy_pass to variable and upstream server temporarily disabled variable

Maxim Dounin
June 04, 2019 11:36AM
Hello!

On Tue, Jun 04, 2019 at 10:40:23AM -0400, kron wrote:

> > В случае если адрес сервера в proxy_pass с переменными определяется
> > с помощью resolver'а, то на каждый запрос создаётся новый апстрим.
> > Это может быть не так e.g. в случае алиасинга с неявным апстримом;
> > я бы проверил это в первую очередь.
>
> Да, в моем случае в переменной DNS адрес, который резолвится с помощью
> резолвера и адрес точно резолвится в несколько адресов.
> Таким образом получается, что при каждом запросе создается новый upstream с
> адресом в который разрезолвилась переменная и пока этот адрес есть в
> резолвере, каждый новый запрос будет фейлить?

Не совсем так. Если у вас один из N возвращаемых из DNS бэкендов
нерабочий - то при исползовании переменных с вероятностью 1/N
nginx попытается сначала отправить запрос именно на него, и
получит ошибку. После чего пойдёт на другой бэкенд в соответствии
с proxy_next_upstream.

> Кажется крутым решением было бы брать набор адресов из резолвера и из них
> уже делать апстрим с дефолтным фоллбэком. Хотя вероятно делать это на каждый
> запрос было бы ресурсоемко.

Если хочется, чтобы полученный набор серверов использовался не
только для одного запроса - это можно сделать, описав блок
upstream и/или написав в конфиге proxy_pass без переменных. Так,
собственно, nginx работает по умолчанию.

Если же хочется, чтобы полученный набор адресов периодечески
обновлялся - то такая фича есть в платной версии, подробности тут:

http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#resolve

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

proxy_pass to variable and upstream server temporarily disabled variable

kron May 24, 2019 09:19AM

Re: proxy_pass to variable and upstream server temporarily disabled variable

Sergey Kandaurov May 24, 2019 11:28AM

Re: proxy_pass to variable and upstream server temporarily disabled variable

kron June 04, 2019 10:40AM

Re: proxy_pass to variable and upstream server temporarily disabled variable

Maxim Dounin June 04, 2019 11:36AM

Re: proxy_pass to variable and upstream server temporarily disabled variable

kron June 04, 2019 12:11PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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