I have web app running on a DO Droplet which I secured with Letsencrypt. The cert renewal has been failing it’s weekly attempt ever since 8/6. I should’ve addressed the problem sooner, but the cert has expired. In my le-renew.log I have the following error…
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/[domain]/fullchain.pem (failure)
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: [domain]
Type: connection
Detail: DNS problem: SERVFAIL looking up CAA for [domain]
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.
And when I attempt to manually renew via sudo /usr/bin/letsencrypt renew I get that same error referring to SERVFAIL and the CAA.
After some investigating I’ve confirmed some things. My domain was registered through Google Domains, pointed to the digitalocean name servers, and I have an A record setup for my droplet. I’ve read that there are new requirements for issuing SSLs and renewals, specifically a CAA record, and that digitalocean doesn’t yet support this? According to this thread.
My question is is there anything I can do resolve this or must I wait until digitalocean supports CAA records? Am I forced to run the site unsecured for now?
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
It’s hard to tell you anything without more information.
Let’s Encrypt does not require that you use CAA, only that your nameservers respond in a valid manner, which is an extremely low bar that most DNS providers meet (at least by now).
https://letsencrypt.org/docs/caa/
What’s your domain?
(Domains are public, and all Let’s Encrypt certificates are logged publicly.)
Thanks so much. This led me to the resolution. Simply needed to add that domain and an A record for it, and manually initiate the renewal.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.