И так, у меня поселился один постоялец, крутится он на сайте круглые сутки, видимо это бот. Первые цифры IP:
141.8
- это неизменные цифры, остальные постоянно меняются. Было решено заблокировать его, для этого я открываю "etc/nginx/nginx.conf" и после: http {
добавляю:
deny 141.8.0.0/16;
Перечитываю конфигурацию Nginx командой:
nginx -s reload
Готово! Обратите внимание на то, как написан IP:
141.8.0.0/16
- первые две цифры (141.8
), как есть, дальше следуют нули и /16
- это говорит о том, что цифры могут быть абсолютно любыми (диапазон). Если надо заблокировать, какой то конкретный IP, например: 141.8.142.114
, пишем так:
deny 141.8.142.114;
После добавления записи, которая кого то блокирует, в моем файле: "var/www/httpd-logs/danfa.net.error.log", появляются записи (Доступ закрыт установленным правилом):
2018/09/03 14:00:56 [error] 9215#9215: *10709 access forbidden by rule, client: 141.8.142.177, server: danfa.net, request: "GET /page/url/ HTTP/1.1", host: "danfa.net"
И таких строк стало очень много, пытается пролезть. Можно отключить добавление записей ошибок такого вида (Как отключить добавление записи "access forbidden by rule" в лог (Nginx)).
Чуть позже, для своего удобства, я решил создать отдельный файл, где будут храниться заблокированные IP. Значит, в файле: "etc/nginx/nginx.conf" меняю строку:
deny 141.8.142.114;
На:
include /etc/nginx/ip.conf;
Затем создаю файл: "etc/nginx/ip.conf" с содержимым (замененная строка выше):
deny 141.8.142.114;
Перечитываю конфигурацию Nginx. Готово. Теперь, если IP, которых придется заблокировать будет много, то они не будут мозолить глаза, когда редактирую основной конфиг.