nginx stream module, dynamic upstream

Илья Шипицин chipitsine на gmail.com
Чт Янв 12 13:41:30 UTC 2023


Это, видимо, неточность документации, надо днс имя + пустую переменную
непосредственно в proxy_pass, а upstream по крайней мере в опенсорс
варианте днс ресолвтт на момент релоада

On Thu, Jan 12, 2023, 7:37 PM Sergey K <skandyla на gmail.com> wrote:

> В документации сказано, что можно использовать upstream с переменными
> (stream module).
>
> ----
> proxy_pass $upstream;
> В этом случае имя сервера ищется среди описанных групп серверов и если не
> найдено, то определяется с помощью resolver’а.
> ----
>
> Однако, в случае изменения айпи адреса для postgres.local  nginx не видит
> изменений и продолжает обращаться к старому айпи адресу апстрима.
>
> nginx/1.18.0
>
> ----
>   upstream postgres {
>     server postgres.local:5432;
>   }
>
>   map stream $upstream {
>     default postgres;
>   }
>
>   server {
>     listen 5432;
>
>     access_log  /var/log/nginx/stream.access.log  proxy buffer=32k
> flush=10s;
>
>     proxy_pass $upstream;
>     resolver 10.0.0.2 valid=30s;
>   }
> ----
>
> похоже на баг либо я делаю что-то не верно?
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20230112/c254cede/attachment.htm>


Подробная информация о списке рассылки nginx-ru