我正在开发一个内部应用程序,我需要获取客户端的主机名。然后使用主机名查找数据库中的记录。我可以获得客户端的IP,我尝试使用Node的DNS Reverse模块,它适用于外部IP,但不适用于内部IP。
const dns = require('dns');
var ip = req.headers['x-forwarded-for'];
dns.reverse(ip, function(err, hostnames){
if(err){
console.log(err);
}
console.log('reverse for ' + ip + ': ' + JSON.stringify(hostnames));
});
我的内部IP收到错误ENOTFOUND
。但如果我使用8.8.8.8,我将获得一个主机名。我的配置错过了什么?我已使用CMD在服务器上对此进行了测试,以便通过ping -a [internal IP]
获取主机名,并且它可以正常运行。