Как настроить nginx для отказа от подключения с подозрительного хоста? - PullRequest
0 голосов
/ 28 сентября 2018

Я использую Nginx для обработки HTTP-запросов.Во время проверки журнала доступа я обнаружил множество подозрительных запросов с одного и того же IP-адреса.Я хотел бы настроить Nginx так, чтобы он отказывался от соединений с таких хостов;Я не думаю, что будет много хозяев, потому что это был первый за многие годы.

1 Ответ

0 голосов
/ 28 сентября 2018

Это в основном то, как работает модуль гео-ip Nginx, я сделал то же самое, что и сканеры Google белого списка на моих сайтах.

В вашем блоке http определите директиву geo и добавьтедиапазоны CIDR ip, которые вы хотите заблокировать:

geo $badips {
  default 0;
  64.233.160.0/19 1;
  66.102.0.0/20 1;
  ...
}

Это установит значение переменной $badips в 1 для запросов, исходящих с этих IP-адресов.

Затем в вашем *Блок 1012 *, перед любыми location блоками добавьте:

if ($badips) {
  return 444;
}

Перезагрузите Nginx и все, запросы, для которых значение $bdips будет установлено равным 1, будут сервером с кодом ответа 444 (вы можете изменитьесли хотите, укажите другой адрес.

Если вы хотите сохранить запрещенные адреса в другом файле, вы можете сделать это, а внутри директивы geo просто добавьте include path/to/file;.Синтаксис во включаемом файле должен быть таким же, как указано выше.

...