nginx stream module, dynamic upstream

Sergey K skandyla на gmail.com
Чт Янв 12 13:37:40 UTC 2023


В документации сказано, что можно использовать 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;
  }
----

похоже на баг либо я делаю что-то не верно?
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20230112/3995185a/attachment.htm>


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