From 206a45158fc1ae3fa1925b6f800e0de66b867182 Mon Sep 17 00:00:00 2001 From: zhangchenhao Date: Fri, 6 Jun 2025 19:52:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E6=A3=80=E6=9F=A5=E5=BC=BA=E5=88=B6?= =?UTF-8?q?=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/cert/apply/apply.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/backend/internal/cert/apply/apply.go b/backend/internal/cert/apply/apply.go index 0d27f0a..b52bec3 100644 --- a/backend/internal/cert/apply/apply.go +++ b/backend/internal/cert/apply/apply.go @@ -16,6 +16,7 @@ import ( "github.com/go-acme/lego/v4/challenge" "github.com/go-acme/lego/v4/challenge/dns01" "github.com/go-acme/lego/v4/lego" + "github.com/go-acme/lego/v4/log" "github.com/go-acme/lego/v4/providers/dns/alidns" "github.com/go-acme/lego/v4/providers/dns/azuredns" "github.com/go-acme/lego/v4/providers/dns/baiducloud" @@ -535,11 +536,22 @@ func Apply(cfg map[string]any, logger *public.Logger) (map[string]any, error) { dns01.WrapPreCheck(func(domain, fqdn, value string, check dns01.PreCheckFunc) (bool, error) { return true, nil }), - dns01.AddRecursiveNameservers(NameServers), ) } else { err = client.Challenge.SetDNS01Provider(provider, dns01.AddRecursiveNameservers(NameServers), + dns01.WrapPreCheck(func(domain, fqdn, value string, check dns01.PreCheckFunc) (bool, error) { + ok, err := check(fqdn, value) + if err != nil { + log.Printf("[WARN] DNS precheck error for %s: %v", fqdn, err) + } else if !ok { + log.Printf("[INFO] TXT record for %s not yet found, but continuing anyway.", fqdn) + } else { + log.Printf("[OK] TXT record for %s is present.", fqdn) + } + // 👇 核心点:无论查不查到,都强制返回 true + return true, nil + }), ) } if err != nil {