NodeJS 18 将 localhost 的 DNS 解析从 127.0.0.1 中断为 ::1

NodeJS 18 breaks DNS resolution of localhost from 127.0.0.1 to ::1

提问人:Utkarsh Kumar 提问时间:9/20/2023 更新时间:9/20/2023 访问量:176

问:

我正在开发一个 NodeJS monorepo,它在 nodeV16 上有应用程序,我将它们升级到了 nodeV18。其中许多用于通信。使用节点 16 时,用于解析,但在升级后,它开始解析为多个位置的应用程序,从而中断应用程序。localhostlocalhost127.0.0.1::1

我在互联网上发现 Node.js 17 从默认解析主机名到 IPv4 切换到解析操作系统给出的顺序。这是在 nodejs/node#39987 中完成的有意更改,但会导致下游项目出现问题,如 nodejs/node#40537 中所述。

过去有没有人遇到过这个问题,如果是,你是如何解决这个问题的?我是 Node 的新手,可以使用一些指导。

我们使用的是 linux 机器,我不确定为什么操作系统中 DNS 解析的顺序是 IPv6 优先。不确定我们是否可以以某种方式改变它?

提前致谢!

节点 .js 本地主机 IPv6 monorepo IPv4

评论


答: 暂无答案