Failing to renew cert created with acme-dns-auth.py

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. crt.sh | example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: I cannot publicly disclose

I ran this command: sudo certbot renew --dry-run

The previous command to create the cert was:

sudo certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges  -d <string_removed>

It produced this output:

root:~# sudo certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/<hostname_removed>.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Simulating renewal of an existing certificate for <hostname_removed>

Certbot failed to authenticate some domains (authenticator: manual). The Certificate Authority reported these problems:
  Domain: <hostname_removed>
  Type:   unauthorized
  Detail: Incorrect TXT record "<string_removed>" found at _acme-challenge.<hostname_removed>

Hint: The Certificate Authority failed to verify the DNS TXT records created by the --manual-auth-hook. Ensure that this hook is functioning correctly and that it waits a sufficient duration of time for DNS propagation. Refer to "certbot --help manual" and the Certbot User Guide.

Failed to renew certificate <hostname_removed> with error: Some challenges have failed.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
All simulated renewals failed. The following certificates could not be renewed:
  /etc/letsencrypt/live/<hostname_removed>/fullchain.pem (failure)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

I did check my DNS entries and see there is a CNAME record for <hostname_removed> to <subdomain_removed>.auth.acme-dns.io.
Cloudflare is the DNS provider and the CNAME entry is set to DNS only.

My web server is (include version): nginx/1.24.0

The operating system my web server runs on is (include version): Ubuntu 24.04.3 LTS

My hosting provider, if applicable, is: Standard VM

I can login to a root shell on my machine (yes or no, or I don't know): Yes, I have root

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): No control panel

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): certbot 4.2.0

It's going to be near impossible for anyone to help without this detail. Your domain is published to the world in Certificate Transparency logs, so it is not a secret.

4 Likes

Please note that it's not recommended to use third party acme-dns instances like the one you're trying to use now. For security reasons it's better to run your own instance.

Also: how did you get the acme-dns URL to use?

2 Likes

Thank you - I am using a solution that is working.