Мне нужно заблокировать кучу роботов от сканирования нескольких сотен сайтов, размещенных на веб-сервере Nginx, работающем на машине Ubuntu 16.04.
Я нашел довольно простой пример Вот (важная часть кода приведена ниже), но кажется, что эта функция доступна только внутри серверного блока (из-за оператора IF), и я думаю, что это ужасная идея, особенно с большим количеством сайтов на машине.
if ($http_user_agent ~* (ahrefs|wget|crawler|majestic) ) {
return 403;
}
Итак, вопрос в том, можно ли добиться чего-то подобного из основного nginx.conf
файл и работать для всех доменов, определенных в sites-enabled
папка и те, которые будут добавлены в будущем?
Я также читал о подходе к карте и нашел на GitHub целый проект, который его использует - https://github.com/mariusv/nginx-badbot-blocker но по-прежнему требует редактирования всех файлов в sites-enabled
папка, и это займет слишком много времени для нескольких сотен уже работающих сайтов.