Приступим реализации в nginx блокируем плохих ботов, снижаем нагрузку с сервера.
По логам вижу, что некоторые боты за долбали со своим негативным трафиком.
Кто парсит сайт, кто брутит пароль к админке, кто негативный трафик нагоняет.
Решил блокировать весь этот трафик на nginx.
В nginx.conf в секцию http добавляем наших, злополучных ботов которых мы будим блокировать.
Список не полный, если полный список, то он будит очень большим, это основные паразитирующие боты.
map $http_user_agent $bad_bot { default 0; ~(?i)(Ahrefs|SputnikBot|spbot|DigExt|Sogou|MJ12|majestic12|80legs|SISTRIX|Semrush|Crowsnest|CCBot|TalkTalk|PaperLiBot|peerindex|ia_archiver|Slurp|Aport|NING|JS-Kit|rogerbot|BLEXBot|MJ12bot|Twiceler|Baiduspider|Java|CommentReader|Yeti|discobot|BTWebClient|Tagoobot|Ezooms|igdeSpyder|AhrefsBot|Teleport|Offline|DISCo|netvampire|Copier|HTTrack|WebCopier|WebCollector) 1; }
Теперь добавляем активацию фильтрации ботов в нужном виртуал хосте.
# Запрещаем доступ по заголовкам User-Agent, от даем ботам код ответа 403. if ($bad_bot = 1) { return 403; }
Вот и все.
Можно еще парсить лог и сравнивать, если часто бот ходит, то блокировать его на уровне маршрута.
Нагрузки практически ни какой будит.
Мини инструкция о том как в nginx блокируем плохих ботов.
nginx разделение логов.
nginx webp правило отображения картинок.
joomla nginx redirect.
nginx ssl letsencrypt редирект на другой домен.
nginx geoip фильтрация.
после добавления в nginx.conf веб-сервер не запускается, говорит вот это
invalid number of the map parameters
Покажите конфиг nginx.conf
Pingback: nginx geoip фильтрация - FRYAHA.RU
Pingback: nginx 301 редирект - FRYAHA.RU
Pingback: nginx webp правило отображения картинок - FRYAHA.RU
Pingback: nginx ssl letsencrypt редирект на другой домен. - FRYAHA.RU
Pingback: simpla nginx перевод редиректов - FRYAHA.RU