<div dir="ltr">Good info, thank you!</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 9, 2015 at 7:53 AM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div><div class="h5"><br>
On Sat, Nov 07, 2015 at 08:28:29PM -0500, CJ Ess wrote:<br>
<br>
> Just curious - if I am using the deferred listen option on Linux my<br>
> understanding is that nginx will not be woken up until data arrives for the<br>
> connection. If someone is trying to DDOS me by opening as many connections<br>
> as possible (has happened before) how does that situation play out with<br>
> deferred accepts?<br>
><br>
> Currently I am not using the deferred option and I have timeouts set so<br>
> that if complete request headers aren't received in a few seconds then the<br>
> connection is closed, however with deffered accepts I don't believe nginx<br>
> would be able to do that.<br>
<br>
</div></div>When using deferred accept, nginx instructs the kernel to defer<br>
connections for just 1 second.  After this time, the kernel will<br>
pass connections to nginx for normal processing.<br>
<br>
If there are too many connections waiting in deferred accept (more<br>
than a socket backlog), syncookies will be used by the kernel if<br>
enabled.<br>
<br>
Note that this works slightly differently with old kernels (before<br>
2.6.32), and in previous nginx versions (before 1.5.10).  Some<br>
additional information can be found in these commit logs:<br>
<br>
<a href="http://hg.nginx.org/nginx/rev/fdb67cfc957d" rel="noreferrer" target="_blank">http://hg.nginx.org/nginx/rev/fdb67cfc957d</a><br>
<a href="http://hg.nginx.org/nginx/rev/05a56ebb084a" rel="noreferrer" target="_blank">http://hg.nginx.org/nginx/rev/05a56ebb084a</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">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>
</font></span></blockquote></div><br></div>