I ran this command: letsencrypt certonly --webroot -w -d hnusnik.cz -d www.hnusnik.cz
It produced this output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for hnusnik.cz
http-01 challenge for www.hnusnik.cz
Using the webroot path /srv/vhosts/hnusnik.cz/public_html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.hnusnik.cz (http-01): urn:acme:error:dns :: DNS problem: SERVFAIL looking up CAA for www.hnusnik.cz - the domain's nameservers may be malfunctioning
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: www.hnusnik.cz
Type: None
Detail: DNS problem: SERVFAIL looking up CAA for www.hnusnik.cz -
the domain's nameservers may be malfunctioning
My web server is (include version): nginx/1.6.2
The operating system my web server runs on is (include version):
Distributor ID:
Debian
Description:
Debian GNU/Linux 8.11 (jessie)
Release:
8.11
Codename:
jessie
My hosting provider, if applicable, is: self-hosted
I can login to a root shell on my machine (yes or no, or I don’t know): yes
I’m using a control panel to manage my site (no, or provide the name and version of the control panel): no
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you’re using Certbot): certbot 0.10.2
RRSIG Type 47, expiration 2020-05-01 21:18:46 validates the NSEC RR that proves the not-existence of the CAA RR. Owner hnusnik.cz, NextOwner: \000.hnusnik.cz. Bitmap: A, NS, SOA, MX, TXT, AAAA, RRSIG, NSEC, DNSKEY
Older topic with the same NextOwner NSEC \000.maindomain - no real solution.
I have no CAA entries and never had on this domain.
Can you explain what is curious about that?
There is no CNAME on the specific records relevant this, I have just:
hnusnik.cz. 14400 A 89.185.235.201
hnusnik.cz. 14400 AAAA 2a01:430:27::201
Do you mean for www? This would seem strange if it was the problem and sincerely should be fixed elsewhere. I have it set up like that on all of my domains.
Oh, I understand. These are not Black lies (never heard the term before). My zone supports synthesized DNS responses which are signed online. You cannot walk my zone, because it just does not exists, it is dynamically created, but behavior is similar to what they call Black lies, but no lying is actually involved. The records are not there but may be created if somebody asks for them.
Changing the www variant to A/AAAA record actually works. So thanks for the tip! But I am extremely sure it is a bug in on the side of Let’s encrypt and possible explanation why it is not working on some domains.