Certbot uses DNS authentication but webroot is specified

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. https://crt.sh/?q=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: weidenauer.xyz

I ran this command: certbot -d “weidenauer.xyz,*.weidenauer.xyz” --preferred-challenges http --webroot --webroot-path=/var/www/weidenauer.xyz certonly --rsa-key-size 4096

It produced this output:
Obtaining a new certificate
Performing the following challenges:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. You may need to use an authenticator plugin that can do challenges over DNS.
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. You may need to use an authenticator plugin that can do challenges over DNS.

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

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

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 1.3.0

You can’t use the http-01 challenge, which is the challenge used by the webroot plugin, for wildcard certificates (currently).

I see that you’ve managed to get wildcard certificates for your domain since 2018, what changed?

I used the DNS authenticator and wanted to change it to http, so that it can renew it automatically without me having to change the DNS records.

If you want to fully automate your renewals (which is recommended indeed), you’ve got two (that I can see) options:

  • keep the wildcard and be forced to keep using the dns-01 challenge, but automate this using acme-dns. When using acme-dns, the DNS challenge is defered from your DNS hosting provider to an IP address hosting the acme-dns software, which can automatically provide the DNS challenge;
  • remove the wildcard hostname and go back to a certificate with multiple regular hostnames and start using the http-01 challenge for easy automation.

Wow, thank you very much, kind Sir! I’ll give acme-dns a try.