mirror of
https://github.com/certd/certd.git
synced 2026-04-28 07:57:25 +08:00
perf: 为DNS解析器添加超时配置,避免查询时间过长
在util.js中为dns.Resolver添加超时配置,确保DNS查询在合理时间内完成
This commit is contained in:
@@ -252,7 +252,7 @@ async function resolveDomainBySoaRecord(recordName, logger = log) {
|
|||||||
|
|
||||||
async function getAuthoritativeDnsResolver(recordName, logger = log) {
|
async function getAuthoritativeDnsResolver(recordName, logger = log) {
|
||||||
logger(`获取域名${recordName}的权威NS服务器: `);
|
logger(`获取域名${recordName}的权威NS服务器: `);
|
||||||
const resolver = new dns.Resolver();
|
const resolver = new dns.Resolver({ timeout: 10000,maxTimeout: 60000 });
|
||||||
|
|
||||||
try {
|
try {
|
||||||
/* Resolve root domain by SOA */
|
/* Resolve root domain by SOA */
|
||||||
|
|||||||
@@ -148,7 +148,6 @@ async function walkDnsChallengeRecord(recordName, resolver = dns,deep = 0) {
|
|||||||
/* Authoritative DNS resolver */
|
/* Authoritative DNS resolver */
|
||||||
log(`从域名权威服务器获取TXT解析记录`);
|
log(`从域名权威服务器获取TXT解析记录`);
|
||||||
const authoritativeResolver = await util.getAuthoritativeDnsResolver(recordName,log);
|
const authoritativeResolver = await util.getAuthoritativeDnsResolver(recordName,log);
|
||||||
resolver.setTimeout(10000);
|
|
||||||
const res = await walkDnsChallengeRecord(recordName, authoritativeResolver,deep);
|
const res = await walkDnsChallengeRecord(recordName, authoritativeResolver,deep);
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
for (const item of res) {
|
for (const item of res) {
|
||||||
|
|||||||
Reference in New Issue
Block a user