I've been watching access logs and trying to ban dumb/malicious requests. I figured if someone does a GET without returning something valid I mark that as bad request. I don't think that's a dumb idea?
EDIT: Someone reading this and helping got bonked by f2b but it should be fixed now
Don't get over zealous banning everything at this point. If it were me, I would disable f2b until I got the cert stuff worked out. Not to tell you what to do or anything like that.... but consider opening up your server for the time being to allow Rudy to help you sort this out.
The issue here is that we don't have a list of IP addresses that LE uses for renewals, etc. Totally random. So if your trying to renew a cert and the LE server fails with some bizarre error code you are still stuck. f2b is a GREAT tool and I use it too. But get everything functioning so you can see what is actually happening in the access/error logs... then take steps to block UNWANTED access. (I am not trying to get in the way of a solution).
My 2 cents
curl http://theveninskeep.com/.well-known/acme-challenge/Test_File-1234
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
Instead use the HTTPS scheme to access this URL, please.<br />
</p>
<hr>
<address>Apache/2.4.41 (Ubuntu) Server at TheveninsKeep.com Port 80</address>
</body></html>
And since F2B also includes 400, those IPs will also be clobbered - without merit.
curl http://theveninskeep.com/TEST.txt
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
Instead use the HTTPS scheme to access this URL, please.<br />
</p>
<hr>
<address>Apache/2.4.41 (Ubuntu) Server at TheveninsKeep.com Port 80</address>
</body></html>
# cat /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet