calling unique url not more then 1 time per 5 seconds

Valentin V. Bartenev vbart at nginx.com
Mon May 25 11:56:23 UTC 2015


On Sunday 24 May 2015 11:46:09 Styopa Semenukha wrote:
> On Sunday, May 24, 2015 11:36:47 AM Styopa Semenukha wrote:
> > On Sunday, May 24, 2015 03:35:45 AM PavelPolyakov wrote:
> > > Hi,
> > > 
> > > Assuming I have an url like /payout/[hash] , where hash is something unique,
> > > and I want to make, that on nginx level it's checked that this url is called
> > > not more then 1 time per 5 seconds. 1st time it should be processed by
> > > proxy_pass, all the other times it should be replied 403.
> > > 
> > > Could someone tell me which approach I should use? Is that possible to do
> > > that using nginx?
> > > 
> > > Any thoughts are appreciated.
> > > 
> > > Regards,
> > 
> > Yes, it's possible:
> > http://nginx.org/r/limit_req_zone
> > >If a rate of less than one request per second is desired, it is specified in request per minute (r/m). For example, half-request per second is 30r/m.
> > 
> 
> This is for the case you need to impose a limit of 12r/m per the entire "/payout/" location.
> 
> But if you mean 12r/m per _individual_ hash, that might be tricky.
> 

It's not tricky.  It can be achieved by configuring $uri as the key.

  wbr, Valentin V. Bartenev



More information about the nginx mailing list