<div dir="ltr"><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">As you were said before, a client might create multiple connections.<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">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.<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)"><br>Limiting the number of requests applies to every connection in parallel, so the total requests rate per client is nbConn * nbReq / timeUnit.<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">limit_conn and limit_req work together in this formula.<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Do not assume things that are not said. I personally did exactly that on numerous occasions. :o)<br></div><div class="gmail_extra"><div><div><font size="1"><span style="color:rgb(102,102,102)">---<br></span><b><span style="color:rgb(102,102,102)">B. R.</span></b><span style="color:rgb(102,102,102)"></span></font></div></div>
<br><div class="gmail_quote">On Sat, Jan 9, 2016 at 2:44 PM, djeyewater <span dir="ltr"><<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">B.R. Wrote:<br>
-------------------------------------------------------<br>
> You should use limit_conn<br>
> <<a href="http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_c" rel="noreferrer" target="_blank">http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_c</a><br>
> onn><br>
> in conjunction with limit_req<br>
> <<a href="http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_re" rel="noreferrer" target="_blank">http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_re</a><br>
> q>.<br>
> They are supplementing each other.<br>
> ---<br>
> *B. R.*<br>
><br>
> On Fri, Jan 8, 2016 at 8:52 PM, djeyewater<br>
> <<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>><br>
> wrote:<br>
><br>
> > itpp2012 Wrote:<br>
> > -------------------------------------------------------<br>
> > > No because one user (web browser) can easily open 20 or more<br>
> > > simultaneous connections to get a better web response.<br>
> > > A bot might be less prone to do the same but most connect at about<br>
> 5<br>
> > > simultaneous connections.<br>
> ><br>
> ><br>
> > The limit_req will only be used for requests to dynamic pages, so<br>
> there<br>
> > should only be one connection per user at a time.<br>
<br>
But using my example config, which only allows 1 request per second per<br>
user, then wouldn't limit_conn be superfluous? You can't have more than one<br>
connection for a single request, surely?<br>
I'll paste the config again here as it got missed off the previous quote:<br>
<br>
map $http_user_agent $single_user {<br>
default $binary_remote_addr;<br>
~PaperLiBot 1;<br>
}<br>
<br>
limit_req_zone $single_user zone=one:10m rate=1r/s;<br>
<br>
...<br>
<br>
limit_req zone=one burst=2;<br>
<br>
Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?2,263891,263913#msg-263913" rel="noreferrer" target="_blank">https://forum.nginx.org/read.php?2,263891,263913#msg-263913</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</blockquote></div><br></div></div>