limit_req по user_agent фильтровать все кроме googlebot
nginx.conf
geo $geo_whitelist {
default 0;
1.2.3.4 1;
2.3.4.5/24 1;
127.0.0.1/24 1;
}
map $http_user_agent $whitelist {
default $geo_whitelist;
~*(google) 1;
}
map $whitelist $limit {
0 $binary_remote_addr;
1 "";
}
limit_req_zone $limit zone=perip:30m rate=1r/s;
vhosts.conf
limit_req zone=perip burst=2 nodelay;