Node.js 如何提高dns.resolve返回的记录计数限制?

Node.js 如何提高dns.resolve返回的记录计数限制?,node.js,dns,amazon-route53,Node.js,Dns,Amazon Route53,我有一些像这样的节点代码 dns.resolve( genericHostname, ( err, addresses ) => { console.log (addresses.count, 'dns records retrieved') } ) 在我的环境中,这最多返回8个地址记录,即使有比在我的DNS域中注册的地址更多的地址dig也只返回8个地址 为什么超过8个地址?我使用基于延迟的路由,并且在不同的位置(AWS区域)有实例 为什么我希望它们都响应此.resolve()操作

我有一些像这样的节点代码

dns.resolve( genericHostname, ( err, addresses ) => {
   console.log (addresses.count, 'dns records retrieved')
} )
在我的环境中,这最多返回8个
地址
记录,即使有比在我的DNS域中注册的地址更多的地址
dig
也只返回8个地址

为什么超过8个地址?我使用基于延迟的路由,并且在不同的位置(AWS区域)有实例

为什么我希望它们都响应此
.resolve()
操作?要在web应用程序中显示服务器列表


我的DNS应答记录可能比单个UDP数据包大


有没有办法让节点的内置DNS解析器返回八条以上的记录?我可以强制它使用TCP进行查询吗?还有其他技巧吗?

“dig也只返回8个地址。”响应是否以任何方式被截断?您是否尝试过使用
+tcp
?您是否尝试使用
edns
buffersize?如果dig回答说,没有截断的迹象,甚至在通过TCP重试之后,这确实意味着这就是它从DNS服务器获得的全部。因此,可能服务器并不总是发送所有记录(一些服务器可以向不同的客户端发送不同的回复)“我的DNS应答记录似乎可能比单个UDP数据包大。”通常在这种情况下,响应带有“截断位”集,以便客户端知道它没有得到完整的回复。在这种情况下,它可以通过TCP重试,然后它将获得所有内容。一些DNS库可能会自动为您执行此操作(但我不知道NodeJS中的一个)。在测试此功能时,我没有发现任何问题,也许限制在DNS服务器端?如果查询
nodetest.bajic.nl
,会得到什么结果?呸!看起来DNS服务器(AWS)的限制我的区域也在路由53中…“dig也只返回8个地址。”响应是否以任何方式被截断?您是否尝试过使用
+tcp
?您是否尝试使用
edns
buffersize?如果dig回答说,没有截断的迹象,甚至在通过TCP重试之后,这确实意味着这就是它从DNS服务器获得的全部。因此,可能服务器并不总是发送所有记录(一些服务器可以向不同的客户端发送不同的回复)“我的DNS应答记录似乎可能比单个UDP数据包大。”通常在这种情况下,响应带有“截断位”集,以便客户端知道它没有得到完整的回复。在这种情况下,它可以通过TCP重试,然后它将获得所有内容。一些DNS库可能会自动为您执行此操作(但我不知道NodeJS中的一个)。在测试此功能时,我没有发现任何问题,也许限制在DNS服务器端?如果查询
nodetest.bajic.nl
,会得到什么结果?呸!看起来DNS服务器(AWS)的限制我的区域也在路由53中。。。。