My domain is rudhar.com. My web server is nginx version 1.22.1, built with OpenSSL 1.1.1q 5 Jul 2022 (running with OpenSSL 1.1.1t 7 Feb 2023), under Alpine Linux 3.17.3.
My website is hosted on a VPS, provided by Virtua.cloud in Lille, France. I can login to a root shell on my machine, and I'm not using a control panel. I'm using certbot version 1.32.0.
On February 2, 2023, via root’s crontab I ran the command "certbot renew", and the Letsencrypt certificate was successfully renewed. Cron tried again on April 17, 2023, and then it failed. After a "sudo su", I recently ran "certbot -v renew" myself several times, and examined the logs in /var/log/letsencrypt, files letsencrypt.log and letsencrypt.log.1 etc. The certificate renewal attempt failed every time, and in the same way.
The logged reason for the failures was:
"type": "urn:ietf:params:acme:error:connection",
"detail": "185.154.155.218: Fetching https://rudhar.com/.well-known/acme-challenge/[long and complicated file name]: Timeout during connect (likely firewall problem)",
"status": 400
It is true that I have a firewall, nftables, which blocks some notorious hackers' IPv4 numbers. To be certain my ranges aren't too wide, I disabled the firewall (sudo service nftables stop) and retested. The renewal problem remained.
Then (again as root, of course) I manually ran the command "certbot certonly --manual", and in a different ssh login shell, I created the directory /var/www/html/.well-known/acme-challenge, and created and filled the challenge files there myself by hand. I could retrieve those files without any problems (using the exact URL from the log, to avoid any typos), from the web server using wget, and also from my laptop in the Netherlands (so not in Lille, France), using wget, curl, and Firefox. But certbot couldn't, still that timeout every time. Why?
I checked that my website is accessible from all over the world, using https://www.uptimia.com and https://semonto.com/tools/website-reachability-check . Result: the site works fine, from all over the world, including from California, where (using nslookup and whois) I found Letsencrypt.org is hosted in Google’s Cloud.
So that leaves me puzzled: if I can access those challenge files, why can't Letsencrypt? And now how can I renew my certificate? The current one will expire on May 3, so time is tight.