Hello! On Thu, Dec 07, 2017 at 02:31:54PM +0200, Alex Domoradov wrote:
> Привет всем, столкнулся с непонятным поведением [...] > с этой частью никаких проблем нет, она работает как и проложено. Но в этом > же сервере есть один тестовый локейшен > > location /test/ { > resolver 172.23.16.2 valid=10s; > resolver_timeout 10s; > proxy_pass http://fake-upstream.example.com/; [...] > Создаю временную запись fake-upstream.example.com с ttl 60s и указываю на > свой домен sys-adm.org.ua. Все работает, потом удаляю запись, проверяю что > на сервере с nginx она тоже не видится > > # host fake-upstream.example.com 172.23.16.2 > Using domain server: > Name: 172.23.16.2 > Address: 172.23.16.2#53 > Aliases: > > Host fake-upstream.example.com not found: 3(NXDOMAIN) > > но при этом nginx все так же проксирует запросы, которые попадают в этот > location. Это так и задумано? Да. Имена, явно написанные в конфиге, резолвятся на этапе чтения конфигурации. Если они изменились и надо обновить конфигурацию - следует сказать nginx'у, чтобы он перезагрузил конфигурацию, см. http://nginx.org/ru/docs/control.html#reconfiguration. Исключения - "server ... resolve" в nginx-plus (http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#resolve) и случаи, когда в proxy_pass используются переменные, и соответственно имена не известны в момент парсинга конфигурации. В этих случаях будет использован resolver. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru