Node.js dns.resolve не возвращает правильный IP-адрес - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь использовать DNS-решение Node.js для поиска IP-адреса принадлежащего мне домена (назовем его host.mydomain.com).Если поиск host.mydomain.com выполняется с сервера, на который фактически указывает host.mydomain.com, он возвращает локальный IP-адрес сетевой карты (192.168.0.10) вместо внешнего IP-адреса сервера.

Выполнениепоиск хоста для host.mydomain.com с внешнего компьютера с использованием того же кода возвращает ожидаемый внешний IP-адрес.Что еще более важно, у меня есть другой сервер в другой среде, назовите его host.otherdomain.com, который корректно возвращает свой собственный внешний IP-адрес при поиске, используя тот же код.

У меня нет ничего в моемфайл hosts, который переопределит это.Оба домена принадлежат одному и тому же поставщику DNS, и оба являются доменными символами.

Мой код:

var dns = require('dns');
dns.setServers([ "8.8.8.8", "8.8.4.4" ]);

domain="host.mydomain.com";

dns.resolve(domain, function (error, addresses) {
    console.log("Error: ", error);  // null
    console.log("DNS servers: ", dns.getServers());  // [ '8.8.8.8', '8.8.4.4' ]
    console.log(domain + " resolves to: ", addresses);  // [ '192.168.0.10' ]
});

В настоящее время я использую Node.js 6 на всех серверах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...