<div dir="ltr"><div><br></div>I am trying to figure out if there is any way to rate limit all traffic except Googlebot, msnbot, yandex and baidu bots. Here is what I have started with:<div><br></div><div><br></div><div>  # Whitelisted IPs</div><div><div>  geo $rate_limit_ip {</div><div>      default $binary_remote_addr;</div><div>      127.0.0.1 "";</div><div>      <a href="http://10.0.0.0/8" target="_blank">10.0.0.0/8</a> "";</div></div><div>  }</div><div><div>  </div><div>  # Rate limit <br></div><div>  limit_req_zone $rate_limit_ip zone=publix:10m rate=10r/s;</div></div><div><br></div><div>I can add googlebot, msnbot, yandex and baidu IP ranges manually to the whitelist, but that will make lookup table big. I am not sure whether this approach will work for high traffic like - 1200 requests/second distributed across 20 nginx hosts. Any ideas on such setup will be really helpful.</div><div><br></div><div>Also, can such host lookups be done in real-time for every request? I am guessing that may not be efficient for each request, but I was wondering if there are any solutions.</div><div><br></div><div>Appreciate all your help.</div><div><br></div><div>- thanks,</div><div>N</div><div><br></div><div><br></div></div>