You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js dns.resolveCname查询始终返回ENODATA错误原因咨询

报错原因说明

dns.resolveCname抛出ENODATA错误,是因为目标域名nodejs.org本身不存在CNAME类型的DNS记录,和你的网络环境、EC2端口配置、代码写法都没有关系。

这个结果完全符合DNS协议的强制规则:

  • 按照RFC 1034协议要求,只要某个域名配置了CNAME记录,就不能同时存在MX、A、SOA、TXT等其他任何类型的DNS记录
  • 你查询的nodejs.org是顶点域名(无前缀的根域名),默认必须配置SOA记录用于标记所属的解析区域,而且你自己的测试也已经确认该域名存在MX记录,因此它从规则上就不可能配置CNAME记录,查询不到对应记录是完全正常的结果。

如果你要验证接口功能正常,可以换一个存在CNAME记录的域名测试,比如www.nodejs.org,调用dns.resolveCname('www.nodejs.org', callback)就能正常拿到返回结果,不会报错。


内容的提问来源于stack exchange,提问作者Tamil Vendhan Kanagarasu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:15:03