Certbot Renew says no renewals were attempted but cert is expired Apache/Ubuntu

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: suburban-wellness.com

I ran this command: certbot renew

It produced this output: No renewals were attempted.

I also ran this command: certbot

It produced this output:

Failed authorization procedure. suburban-wellness.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://suburban-wellness.com/.well-known/acme-challenge/7IVPsiXy8XgjjpVWRRyZbOivxEMwOQpOt77P9eo_ork [3.15.106.69]: “\n\n403 Forbidden\n\n

Forbidden

\n<p”

IMPORTANT NOTES:

  • The following errors were reported by the server:

    Domain: suburban-wellness.com
    Type: unauthorized
    Detail: Invalid response from
    http://suburban-wellness.com/.well-known/acme-challenge/7IVPsiXy8XgjjpVWRRyZbOivxEMwOQpOt77P9eo_ork
    [3.15.106.69]: “\n\n403
    Forbidden\n\n

    Forbidden

    \n<p”

    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.

  • Your account credentials have been saved in your Certbot
    configuration directory at /root/~/.certbot/config. You should make
    a secure backup of this folder now. This configuration directory
    will also contain certificates and private keys obtained by Certbot
    so making regular backups of this folder is ideal.

My web server is (include version): Apache 2.4.29

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

My hosting provider, if applicable, is: AWS

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

1 Like

Additional Information

The server has been active for over a year

There are 6 WordPress sites running on the server, 5 of which have valid letsencrypt certificates

The cert for suburban-wellness.com expired yesterday

There is a cron job running as root with the following command… @midnight certbot renew --post-hook “service apache2 reload”

The renewals were working fine until recently however there have not been any changes to the server

1 Like

The topic says “no renewals were attempted” but the logs show it did try to renew:

It failed to renew with “error 403 forbidden”.
That means your site is requiring user login to reach the challenge requested file.
That will never work; there is no way for LE to login to your system.

Please show the output of:
apachectl -S

1 Like

The topic says “no renewals were attempted” but the logs show it did try to renew:

root@ip-172-31-29-122:~# certbot renew

Saving debug log to /root/~/.certbot/logs/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

No renewals were attempted.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

It failed to renew with “error 403 forbidden”.
That means your site is requiring user login to reach the challenge requested file.
That will never work; there is no way for LE to login to your system.

If it will never work then how did I have a certificate until yesterday for this domain but also have valid certs for 5 other domains on the server?

root@ip-172-31-29-122:~# apachectl -S
VirtualHost configuration:
*:443                  is a NameVirtualHost
         default server autospeed.us (/etc/apache2/sites-enabled/autospeed-le-ssl.conf:2)
         port 443 namevhost autospeed.us (/etc/apache2/sites-enabled/autospeed-le-ssl.conf:2)
                 alias www.autospeed.us
         port 443 namevhost autospeedautocare.com (/etc/apache2/sites-enabled/autospeedautocare-le-ssl.conf:2)
                 alias www.autospeedautocare.com
         port 443 namevhost easapps.com (/etc/apache2/sites-enabled/easaopps-le-ssl.conf:2)
                 alias www.easapps.com
         port 443 namevhost elementalappstudio.com (/etc/apache2/sites-enabled/elemental-le-ssl.conf:2)
                 alias www.elementalappstudio.com
         port 443 namevhost lonewolfbuilt.com (/etc/apache2/sites-enabled/lonewolf-le-ssl.conf:2)
                 alias www.lonewolfbuilt.com
         port 443 namevhost suburban-wellness.com (/etc/apache2/sites-enabled/suburban-le-ssl.conf:2)
                 alias www.suburban-wellness.com
         port 443 namevhost voicesafe.us (/etc/apache2/sites-enabled/voicesafe-le-ssl.conf:2)
                 alias www.voicesafe.us
*:80                   is a NameVirtualHost
         default server autospeed.us (/etc/apache2/sites-enabled/autospeed.conf:1)
         port 80 namevhost autospeed.us (/etc/apache2/sites-enabled/autospeed.conf:1)
                 alias www.autospeed.us
         port 80 namevhost autospeedautocare.com (/etc/apache2/sites-enabled/autospeedautocare.conf:1)
                 alias www.autospeedautocare.com
         port 80 namevhost easapps.com (/etc/apache2/sites-enabled/easaopps.conf:1)
                 alias www.easapps.com
         port 80 namevhost elementalappstudio.com (/etc/apache2/sites-enabled/elemental.conf:1)
                 alias www.elementalappstudio.com
         port 80 namevhost lonewolfbuilt.com (/etc/apache2/sites-enabled/lonewolf.conf:1)
                 alias www.lonewolfbuilt.com
         port 80 namevhost suburban-wellness.com (/etc/apache2/sites-enabled/suburban.conf:1)
                 alias www.suburban-wellness.com
         port 80 namevhost voicesafe.us (/etc/apache2/sites-enabled/voicesafe-le-ssl.conf:39)
                 alias www.voicesafe.us
         port 80 namevhost voicesafe.us (/etc/apache2/sites-enabled/voicesafe.conf:1)
                 alias www.voicesafe.us
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default 
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

EDIT: Also, the link requested by LE is not password protected. It also responds with a 404, not 403 when viewed in a browser

Additionally, the logs are provided by $ certbot --apache when attempting to issue a new cert

1 Like

That is the mystery that brings us together and started us talking.
[obviously something somewhere has changed]

So…
Let’s start by fixing the obvious and work (backwards/gorwards) from there:
This looks problematic:

port 80 namevhost voicesafe.us (/etc/apache2/sites-enabled/voicesafe-le-ssl.conf:39)
alias www.voicesafe.us

port 80 namevhost voicesafe.us (/etc/apache2/sites-enabled/voicesafe.conf:1)
alias www.voicesafe.us
1 Like

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