diff --git a/packages/core/acme-client/src/auto.js b/packages/core/acme-client/src/auto.js index 30c454a3..ddaa7d54 100644 --- a/packages/core/acme-client/src/auto.js +++ b/packages/core/acme-client/src/auto.js @@ -234,6 +234,7 @@ export default async (client, userOpts) => { throw new CancelError("用户取消"); } + const waitDnsDiffuseTime = opts.waitDnsDiffuseTime || 30; try { // eslint-disable-next-line no-await-in-loop await runPromisePa(challengePromises); @@ -242,8 +243,8 @@ export default async (client, userOpts) => { await wait(60 * 1000); } else { await runPromisePa(localVerifyTasks, 1000); - log("本地校验完成,等待30s") - await wait(30 * 1000) + log(`本地校验完成,等待${waitDnsDiffuseTime}s`) + await wait(waitDnsDiffuseTime * 1000) } log("开始向提供商请求挑战验证"); diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/acme.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/acme.ts index d01d8d11..beb99697 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/acme.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/acme.ts @@ -63,6 +63,7 @@ type AcmeServiceOptions = { maxCheckRetryCount?: number; userId: number; domainParser: IDomainParser; + waitDnsDiffuseTime?: number; }; export class AcmeService { diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts index a29bead8..09a2197c 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts @@ -290,6 +290,17 @@ export class CertApplyPlugin extends CertApplyBasePlugin { }) maxCheckRetryCount = 20; + @TaskInput({ + title: "等待解析生效时长", + value: 30, + component: { + name: "a-input-number", + vModel: "value", + }, + helper: "等待解析生效时长(秒)", + }) + waitDnsDiffuseTime = 30; + acme!: AcmeService; eab!: EabAccess; @@ -341,6 +352,7 @@ export class CertApplyPlugin extends CertApplyBasePlugin { signal: this.ctx.signal, maxCheckRetryCount: this.maxCheckRetryCount, domainParser, + waitDnsDiffuseTime: this.waitDnsDiffuseTime, }); }