Существует несколько способов настроить Nginx или UFW для блокировки ботов. Ниже приведены два распространенных метода:
1. Используя модуль Nginx "ngx_http_access_module":
- Откройте конфигурационный файл Nginx (обычно расположен в `/etc/nginx/nginx.conf` или `/etc/nginx/conf.d/default.conf`).
- В блок `http` добавьте следующий код:
```
http {
# ...
# Блокировка ботов
include blockbots.conf; # Импорт файла с правилами
# ...
}
```
- Создайте файл `blockbots.conf` в том же каталоге и добавьте нужные правила блокировки для ботов. Например:
```
# Блокировка по user-agent'у (строка в заголовке запроса)
if ($http_user_agent ~* "bot|crawler|spider") {
return 403; # Возвращаем ошибку доступа (403 Forbidden)
}
```
- Перезапустите Nginx с помощью команды `sudo service nginx restart`.
2. Используя UFW (Uncomplicated Firewall):
- Установите UFW, если он не установлен, с помощью команды `sudo apt-get install ufw`.
- Включите UFW командой `sudo ufw enable`. Убедитесь, что UFW разрешает входящий HTTP-трафик командой `sudo ufw allow 'Nginx HTTP'`.
- Добавьте правило для блокировки IP-адресов:
```shell
sudo ufw insert 1 deny from <IP-адрес> to any
```
Замените `<IP-адрес>` на фактический IP-адрес, который вы хотите заблокировать.
- Сохраните изменения командой `sudo ufw reload`.
При использовании любого из этих методов важно знать, что некоторые боты могут обходить эти правила и анализировать ваш сайт. Поэтому, чтобы обеспечить лучшую защиту, рекомендуется использовать комбинацию разных методов, а также регулярно обновлять правила блокировки.