Certbot-dns-digitalocean: Incorrect TXT record

My domain is:
29th.xyz

I ran this command:

certbot certonly --dns-digitalocean \
  --dns-digitalocean-credentials ~/.secrets/certbot/digitalocean.ini \
  --email <hidden> \
  -d 29th.xyz -d "*.29th.xyz" \
  --dns-digitalocean-propagation-seconds 240

It produced this output:

Renewing an existing certificate
Performing the following challenges:
dns-01 challenge for 29th.xyz
Waiting 240 seconds for DNS changes to propagate
Waiting for verification...
Challenge failed for domain 29th.xyz
dns-01 challenge for 29th.xyz
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: 29th.xyz
   Type:   unauthorized
   Detail: Incorrect TXT record
   "frit2byeoSOYfGMi-danaBKZjU3qOzkUgTyrD-lx6OE" found at
   _acme-challenge.29th.xyz

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

My web server is (include version):

Technically it's nginx, but it's running in a docker container, so there is no nginx binary on the host machine. I'm under the impression that doesn't matter since I'm using the DNS challenge, so no web server should be required to get the certs, from what I understand.

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

Ubuntu 18.04.3 LTS

My hosting provider, if applicable, is:

Digital Ocean

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):

1.9.0

Other details:

I also tried with explicitly listing all the necessary hostnames instead of a wildcard:

-d 29th.xyz -d www.29th.xyz -d api.29th.xyz

This gave the same error, but about one of the hostnames (none succeded).

Both commands work with the --staging flag.

I updated the nameservers of the domain to digitalocean a couple hours ago, and nslookup websites are showing the new nameserver.

Any idea how else I can diagnose what's wrong?

1 Like

I think you are most probably hitting this issue, which relates to DigitalOcean's anycast DNS caching.

The explanation is sort of long and complicated, but the upshot is: leave it alone for 30 minutes, and then try again.

2 Likes

That did it, thanks!

2 Likes