My domain is: challenger.slxh.nl (and challenger.slxh.eu). slxh.nl has a DNAME to slxh.eu.
I ran this command: dehydrated --cron -d challenger.slxh.nl
(against both production and v2 staging).
It produced this output:
"error": {
"type": "urn:ietf:params:acme:error:connection",
"detail": "DNS problem: SERVFAIL looking up A for challenger.slxh.nl",
"status": 400
},
or
"error": {
"type": "urn:ietf:params:acme:error:connection",
"detail": "DNS problem: SERVFAIL looking up CAA for challenger.slxh.nl",
"status": 400
},
The DNS servers for slxh.nl and slxh.eu are PowerDNS authoritative 4.1 servers and most of them are under my control.
Both the A and CAA records validate correctly using:
The most likely explanation seems to me that the Let’s Encrypt resolver has not implemented the DNSSEC/DNAME combination correctly, see RFC 6672 section 5.3.
Edit: turns out that it is also possible to get a SERVFAIL using 9.9.9.9 if you hit a PowerDNS recursor instead of Unbound.