Certbot renew produced an unexpected error

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:
stopforlife.org

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

It produced this output:
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator standalone, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.stopforlife.org
Waiting for verification…
Cleaning up challenges
Attempting to renew cert (stopforlife.org) from
/etc/letsencrypt/renewal/stopforlife.org.conf
produced an unexpected error: Failed authorization procedure.
www.stopforlife.org (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization ::
Invalid response from https://stopforlife.org/.well-known/acme-challenge/6mt6Uk72yRuVI6ujQdD1KUyx-Wt3rswO8mWDS_Jh1WI [72.1.109.234]:
“\n\n404 Not Found\n\n

Not Found

\n<p”. Skipping.
The following certs could not be renewed:
/etc/letsencrypt/live/stopforlife.org/fullchain.pem (failure)

** DRY RUN: simulating ‘certbot renew’ close to cert expiry
** (The test certificates below have not been saved.)

The following certs were successfully renewed:
/etc/letsencrypt/live/socialtie.com/fullchain.pem (success)

The following certs could not be renewed:
/etc/letsencrypt/live/stopforlife.org/fullchain.pem (failure)
** DRY RUN: simulating ‘certbot renew’ close to cert expiry
** (The test certificates above have not been saved.)


1 renew failure(s), 0 parse failure(s)
IMPORTANT NOTES:

My web server is (include version):
HA-Proxy version 1.8.21-1ppa1~bionic 2019/08/16

The operating system my web server runs on is (include version):
Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-65-generic x86_64)

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.31.0

Output of /etc/letsencrypt/renewal/stopforlife.org.conf:

renew_before_expiry = 30 days

version = 0.31.0
archive_dir = /etc/letsencrypt/archive/stopforlife.org
cert = /etc/letsencrypt/live/stopforlife.org/cert.pem
privkey = /etc/letsencrypt/live/stopforlife.org/privkey.pem
chain = /etc/letsencrypt/live/stopforlife.org/chain.pem
fullchain = /etc/letsencrypt/live/stopforlife.org/fullchain.pem

Options used in the renewal process

[renewalparams]
account = 123a7e8b9feccbf704e8e791a8dc5fbe
authenticator = standalone
server = https://acme-v02.api.letsencrypt.org/directory
http01_port = 54321

1 Like

Hi @wil2liv

looks like that can't work.

You use standalone, that starts a new http webserver.

But you use a haproxy that redirects http to https and www to non-www. So not the standalone on port 54321 is checked, instead the https version of your website.

Ah - there looks something curious - https://check-your-website.server-daten.de/?q=stopforlife.org

https://stopforlife.org/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de

Inline-JavaScript (∑/total): 0/0 Inline-CSS (∑/total): 0/0	404
	
Html is minified: 100,00 %	2.703
	A
Not Found
Visible Content: 
Not Found The requested URL was not found on this server. 
Apache/2.4.29 (Ubuntu) Server at stopforlife.org Port 80

https is checked, but a port 80 answers.

May be it's easier to use the webroot of the https version. Or there is a wrong redirect in your haproxy.

1 Like

What is strange is that I host two domains on this HAProxy server. stopforlife.org is one of them and the other is socialtie.com. certbot renew for socialtie.com works just fine.

I’m not familiar with the webroot of the https version. I’ll look into that as well.

1 Like

Your configuration looks wrong. https is used, but an Apache answers with port 80 checking a not-existing file.

But the haproxy hides your server, so I don't see the details.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.