I'm trying to issue a certificate for fahrschuleo.at with SANs including
*.pdf.fahrschuleo.at (delegated subdomain, own NS records) via
certbot --manual with a custom DNS-01 hook (staging environment for
testing). The challenge for pdf.fahrschuleo.at consistently fails with:
Domain: pdf.fahrschuleo.at
Type: dns
Detail: DNS problem: NXDOMAIN looking up TXT for
_acme-challenge.pdf.fahrschuleo.at - check that a DNS record exists
for this domain
What I've already verified before every attempt:
-
Authoritative NS for pdf.fahrschuleo.at (both from parent zone and
directly): ns2.datamagic.at and nspdf.fahrschuleo.at - consistent
everywhere I checked (dig +trace, dig NS from multiple vantage
points). -
Before calling certbot, my hook confirms via direct dig queries to
BOTH authoritative NS (not a caching recursive resolver) that the
TXT record is present and correct on both servers - this check
passes every time before certbot proceeds to validation. -
I watched the record on both NS live (side-by-side, 1-second
polling) throughout an entire failed attempt - both servers were
consistently in sync the whole time, never diverged, appeared and
disappeared at the same moment. -
tcpdump on BOTH authoritative NS simultaneously, filtered for port
53 traffic related to pdf.fahrschuleo.at, during a full failed
attempt: the ONLY TXT queries for _acme-challenge.pdf.fahrschuleo.at
visible in either capture came from my own server (ns2, running the
hook script itself) - zero queries from any external IP address
during the entire challenge window. -
Confirmed nspdf.fahrschuleo.at (80.109.128.50) is reachable from an
independent external server (different datacenter/network) on port
53 and returns correct authoritative NXDOMAIN answers with the aa
flag set for non-existent records. -
DNSSEC/CAA checked via letsdebug.net (dns-01 method): "All OK, no
issues found". -
Ruled out: firewall (ufw explicitly allows port 53 from anywhere on
both NS, IPv4 and IPv6), zone-transfer sync lag between the two NS,
and a previous unrelated bug in my own DNS-record API that has since
been fixed and confirmed working correctly (verified via repeated
manual POST/DELETE + immediate dig checks, 10/10 consistent).
Given that my own captures show Let's Encrypt's validator never even
sent a query to either authoritative NS during the failed attempts,
I suspect the issue may be on Let's Encrypt's side (or somewhere in
network path specific to reaching these validators), rather than in my
DNS setup - but I have no way to confirm what IP/vantage point your
validators actually used, or whether they attempted a query at all.
Could someone please check the validation logs for a recent attempt
against pdf.fahrschuleo.at (or fahrschuleo.at, staging environment) and
let me know what your validators actually observed? Happy to provide
exact timestamps of failed attempts if useful.
Domain: fahrschuleo.at / pdf.fahrschuleo.at
Environment: staging (acme-staging-v02.api.letsencrypt.org)
Client: certbot 1.21.0, --manual with custom auth/cleanup hooks