NGINX — защита от DDOS с одного IP. Параметры limit_zone и limit_req.


У одного из клиентов сайт частенько сайт начал «лежать», изучение логов показало множественные запросы (более 10) с одного и того-же IP адреса, которые и давали нагрузку на сайт.
Фронтендом у клиента стоял nginx — поэтому заблокировать подобную активность не составило никакого труда.
В этом мне помогли директивы limit_zone и limit_req.
Собственно, первое — в секцию httpd добавляем запись, ограничивающую активность до 2х запросов в секунду
limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
В секцию обработки динамики собственно активируем нашу запись (зону созданную в httpd)
limit_req zone=one burst=3;

Вуаля, от «лоховских» ботов атакующих с одного и того-же IP мы защищены!
Кому интересно поподробнее — запрос «limit_req_zone» в помощь 🙂

P.S.
Чтоб случайно не «резануть» ботов, рекомендую добавить в robots.txt паузу в запросах от ботов в 1 секунду
Crawl-delay: 1


4 комментария на «“NGINX — защита от DDOS с одного IP. Параметры limit_zone и limit_req.”»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *