limit_req_zone: How to apply only to some requests containing some string in the URL?

Brian08275660 nginx-forum at nginx.us
Wed Oct 23 03:42:35 UTC 2013


Hi,

I'm using the limit_req_zone module. I would like it to act only on some
requests that have a certain string in one variable in the query string of
the URL.For example, lets say that I'm providing a IP geolocation service,
and that in the URL there is a query string like this:

http://api.acme.com/ipgeolocation/locate?key=NANDSBFHGWHWN2X&ip=146.105.11.59

I would like the rule to detect when the "key" parameter ends with "2X", and
in such case to apply the limitation. 
What I really need is to give NGINX a secret message. The "key" parameter
would end in "01X",  "02X", "03X" (etc). This would indicate Nginx the
limitation of queries per minute, and Nginx would apply a different rate for
each request, depending on the "message".

Is there a way to do that? 

Thanks in advance!

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,244015,244015#msg-244015



More information about the nginx mailing list