Welcome! Log In Create A New Profile

Advanced

Re: Different limit_req rules for different user agents

June 21, 2012 07:46AM
Valentin V. Bartenev Wrote:
-------------------------------------------------------

> http {
>
> map $http_user_agent $limit_bots {
> default '';
> ~*(google|bing|yandex|msnbot)
> $binary_remote_addr;
> }
>
> limit_req_zone $limit_bots zone=bots:10m
> rate=1r/m;
>
> server {
> location / {
> limit_req zone=bots burst=5 nodelay;
> }
> }
> }
>
> wbr, Valentin V. Bartenev

Hello.

I still don't really get the 'map' magic. This example does not work for me - bots still connect as often as they please. But your example gave me an idea. After some reading and fiddling I managed to solve the riddle this way:

http {
limit_req_zone $limit_bots zone=bots:10m rate=1r/m;
server {
location / {
set $bot '';
if ($http_user_agent ~* (google|bing|yandex|msnbot) ) {set $limit_bots $binary_remote_addr;}
limit_req zone=bots burst=5 nodelay;
}
}
}

I will continue reading docs and hope to figure everything out eventually. By now it works for me.

Thank you for your help!
Subject Author Posted

Different limit_req rules for different user agents

LexxTheFox June 18, 2012 07:14AM

Re: Different limit_req rules for different user agents

Valentin V. Bartenev June 18, 2012 09:08AM

Re: Different limit_req rules for different user agents

LexxTheFox June 21, 2012 07:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 184
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready