Пишу про разработку вообще и в частности про: JavaScript, HTML5, CSS3, AngularJS, ReactJS, Agile, Bitcoins

node js и проблемы с dns

Не так давно столкнулся с достаточно странной проблемой с node.js. В нашем проекте сервер строится из сервисов и все это дело держится на кубернетисе. Сервисы на бэке пишутся на скале, а прослойкой между беком и фронтом решается через node.js. Веселая такая конструкция вобщем.

Ничего не предвещало затыков и тут на одной из новых машин мы не смогли вывести запросы к внешним сервисам. Машина на Ubuntu, собирались на ней разрабатывать, а тут к серверам не достучаться. Начали копать, выходит что с браузера да запрос уходит куда надо, а вот из node.js нет. Проблема точно в DNS, потому что и ошибка соответствующая – getaddrinfo ENOTFOUND, да и других вариантов как-то нет, все же на кубернетисе и к нему через openvpn стучимся.

Но вот куда пилить дальше непонятно, вроде уже все осмотрели. На стаковефлов нашелся совет:

Changing the priority of dns at /etc/nsswitch.conf it works:
hosts: dns files

Понятное дело, что в моем файле Name Service Switch (/etc/nsswitch.conf) строчка выглядела иначе, но похоже:

Поправили вот на это:

В итоге все заработало. Алилуйя!

Кто-нибудь сталкивался с подобным?
Зачем так было прописано?

Поделиться:
comments powered by Disqus