Умарили меня вские говнобиржи которые закидывают запросами сайт, когда им (биржам) нужно что то обновить, достало это меня капитольно посему решил подрезать им крылышки.
Началось все с того что у заказчика было 11 серверов с кучей сайтов, на всех сайтах висел код разных бирж ссылок типа сапы, эти биржи имели привычку пару раз в день ползать и сканировать сайты, естественно это приводило к повышенной нагрузке на сервре, так как сканировали сразу кучу доменов, а их на одном серваке доходило до полтиника.
Помогло решение вот такое на основе iptables + nginx:
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
После этого лимиты подключений с одного IP в nginx:
главный конфиг, раздел http:
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 15;
limit_req_zone $binary_remote_addr zone=dynamic:10m rate=5r/s;
limit_req zone=dynamic burst=15 nodelay;
1 коментар до “Лимит подключений с одного IP”