Node.js dns.resolve没有返回正确的IP地址

时间:2018-06-11 03:18:02

标签: node.js dns

我正在尝试使用Node.js DNS resolve查找属于我的域的IP地址(我们称之为host.mydomain.com)。如果从host.mydomain.com实际指向的服务器查找host.mydomain.com,则返回服务器的本地NIC 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.

0 个答案:

没有答案