Понятно, просто изначально проблема была немного другой.
В location /test/ не было указано никаких резолверов, и он проксировал на тестовый инстанс elk, который со временем удалили, при этом перестало работать проксирование и на основной elk, который находится в корневом локейшене. Пользователи стали получать - "504 Gateway Time-out". В error.log при этом было 2017/12/07 03:21:01 [emerg] 16478#0: host not found in upstream " search-testing.us-west-1.es.amazonaws.com" in /etc/nginx/conf.d/elk.conf:46 Это тоже нормальное поведение, что если в любом из локейшенов в пределах одного сервера, перестает резолвиться апстрим, то перестает работать весь сервер? Я пробовал воспроизвести проблему, но не получилось. Единственное отличие это то, что в первом случае, когда стал не доступен корневой апстрим, с момента запуска nginx до момента возникновения проблемы прошел месяц. Такое ощущение, что сбросились какие то кеши. 2017-12-07 14:45 GMT+02:00 Maxim Dounin <mdou...@mdounin.ru>: > 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
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru