Limit reqs per user / bot

B.R. reallfqq-nginx at yahoo.fr
Sun Jan 10 14:32:29 UTC 2016


As you were said before, a client might create multiple connections.

nginx works per request on a connection. Several requests in parallel from
different TCP connections (for the HTTP module) are not the same as several
following requests on the same connection.

Limiting the number of requests applies to every connection in parallel, so
the total requests rate per client is nbConn * nbReq / timeUnit.
limit_conn and limit_req work together in this formula.

Do not assume things that are not said. I personally did exactly that on
numerous occasions. :o)
---
*B. R.*

On Sat, Jan 9, 2016 at 2:44 PM, djeyewater <nginx-forum at forum.nginx.org>
wrote:

> B.R. Wrote:
> -------------------------------------------------------
> > You should use limit_conn
> > <http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_c
> > onn>
> > in conjunction with limit_req
> > <http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_re
> > q>.
> > They are supplementing each other.
> > ---
> > *B. R.*
> >
> > On Fri, Jan 8, 2016 at 8:52 PM, djeyewater
> > <nginx-forum at forum.nginx.org>
> > wrote:
> >
> > > itpp2012 Wrote:
> > > -------------------------------------------------------
> > > > No because one user (web browser) can easily open 20 or more
> > > > simultaneous connections to get a better web response.
> > > > A bot might be less prone to do the same but most connect at about
> > 5
> > > > simultaneous connections.
> > >
> > >
> > > The limit_req will only be used for requests to dynamic pages, so
> > there
> > > should only be one connection per user at a time.
>
> But using my example config, which only allows 1 request per second per
> user, then wouldn't limit_conn be superfluous? You can't have more than one
> connection for a single request, surely?
> I'll paste the config again here as it got missed off the previous quote:
>
> map $http_user_agent $single_user {
> default $binary_remote_addr;
> ~PaperLiBot 1;
> }
>
> limit_req_zone $single_user zone=one:10m rate=1r/s;
>
> ...
>
> limit_req zone=one burst=2;
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?2,263891,263913#msg-263913
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20160110/cc61d4be/attachment.html>


More information about the nginx mailing list