<div class="gmail_quote">2010/11/19 big bond <span dir="ltr"><<a href="mailto:bondarets@gmail.com">bondarets@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Кстати, а можно ли исключить некоторые айпи из ограничения?<div><div></div><div class="h5"><br></div></div><br></blockquote><div><br>У меня примерно так. Задаем список неограниченных IP и определяем req_zones:<br><br> geo $slow {<br>
default 1;<br> include /etc/nginx/conf.d/whitelist;<br> }<br> limit_req_zone $binary_remote_addr zone=fast:1m rate=1000r/s;<br> limit_req_zone $binary_remote_addr zone=slow:10m rate=20r/m;<br></div>
</div><br>А потом собственно обработка. Тех, кто в slow, отправляем в location @slow:<br><br> recursive_error_pages on;<br> error_page 555 = @slow;<br> if ($slow = 1) {<br> return 555;<br>
}<br> limit_req zone=fast burst=10000 nodelay;<br> и продолжаем нормальную отдачу<br><br>@slow выглядит так:<br><br> location @slow {<br> limit_req zone=slow burst=5 nodelay;<br>
error_page 503 /503.html;<br> и т.д.<br><br>А whitelist задается так:<br><br>X.X.X.X 0;<br>Y.Y.Y.Y 0;<br><br>-- <br>With best regards,<br>Dmitri Minaev<br><br><br>