Большинство ботов использует HTTP/1.0 и HTTP/1.1, после блокировки этих протоколов количество блокированных запросов было колоссальным.
Устанавливаем Fileban, создаем файл jail.local, в него будем включать фильтры. Так же создаем фильтр http1
sudo apt-get install fail2ban && sudo nano /etc/fail2ban/jail.local && sudo nano /etc/fail2ban/filter.d/http1.conf
В файл jail.local вносим
[http1]
enabled = true
port = http,https
filter = http1
logpath = /var/log/nginx/access.log
maxretry = 1 # количество запросов через протоколы HTTP 1.0 и 1.1
bantime = 10d # количество дней бана
В файл http1.conf вносим
[Definition]
failregex = ^<HOST> -.*HTTP/1\.0.*$
^<HOST> -.*HTTP/1\.1.*$
ignoreregex =
Перезапускаем fail2ban и смотрим статус
sudo systemctl restart fail2ban && sleep 2 && sudo systemctl status fail2ban
И смотрим какие количество заблокированных IP
fail2ban-client status http1
Проверял как выпускаются сертификаты Let’s Encrypt, сертификаты выпускаются, но так как запросы идут по HTTP/1.1 IP блокируются, в принципе это не мешает, так как через 10 дней бан снимается.