Node.js 错误-getHostByAddr ENOTFOUND::ffff:18.234.32.226

Node.js 错误-getHostByAddr ENOTFOUND::ffff:18.234.32.226,node.js,dns,reverse-dns,Node.js,Dns,Reverse Dns,当我将此实用程序与nodejs一起使用时: 像这样: const {remoteAddress, remotePort} = req.connection; dns.reverse(remoteAddress, (err, hostnames) => { if(err){ console.error(err.message); } }); 我知道这个错误- getHostByAddr ENOTFOUND::ffff:18.234.32.22

当我将此实用程序与nodejs一起使用时:

像这样:

  const {remoteAddress, remotePort} = req.connection; 

  dns.reverse(remoteAddress, (err, hostnames) => {

    if(err){
      console.error(err.message);
    }

  });
我知道这个错误-

getHostByAddr ENOTFOUND::ffff:18.234.32.226


地址/ip开头的ffff内容是什么?我假设我应该在传递到dns.reverse lookup调用之前去掉它?

:ffff:18.234.32.226
是一个IPv4地址(
18.234.32.226
),映射为IPv6地址,您可以通过使用
检测到它

这是一种常见的情况,发生在配置为首选IPv6而非IPv4的系统上(您可以在Unix系统中使用文件
/etc/gai.conf
进行配置)

第3.7节对此进行了解释:

API还提供了不同类型的兼容性:能力
用于IPv6应用程序与IPv4应用程序互操作。这
功能使用IPv6中定义的IPv4映射IPv6地址格式
寻址体系结构规范[2]。此地址格式
允许将IPv4节点的IPv4地址表示为IPv6
地址。IPv4地址被编码为
IPv6地址和高阶96位保留固定前缀
0:0:0:0:0:FFFF。IPv4映射地址的写入方式如下:

::FFFF:<IPv4-address>
::FFFF:

您需要将系统配置为不将IPv4地址映射为IPv6地址,或者使用知道如何处理这些IP地址(完全合法)的库。或者在更糟糕的情况下,确实要从一开始就删除
::ffff:

:ffff:18.234.32.226
是一个IPv4地址(
18.234.32.226
),映射为IPv6地址,您可以通过使用
检测到该地址

这是一种常见的情况,发生在配置为首选IPv6而非IPv4的系统上(您可以在Unix系统中使用文件
/etc/gai.conf
进行配置)

第3.7节对此进行了解释:

API还提供了不同类型的兼容性:能力
用于IPv6应用程序与IPv4应用程序互操作。这
功能使用IPv6中定义的IPv4映射IPv6地址格式
寻址体系结构规范[2]。此地址格式
允许将IPv4节点的IPv4地址表示为IPv6
地址。IPv4地址被编码为
IPv6地址和高阶96位保留固定前缀
0:0:0:0:0:FFFF。IPv4映射地址的写入方式如下:

::FFFF:<IPv4-address>
::FFFF:
您需要将系统配置为不将IPv4地址映射为IPv6地址,或者使用知道如何处理这些IP地址(完全合法)的库。或者,在更糟糕的情况下,确实要删除开头的
::ffff: