<div dir="ltr">Thank you! That makes a lot of sense.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 12, 2015 at 11:15 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>
<span class=""><br>
On Thu, Mar 12, 2015 at 11:01:46AM -0400, Max Rothman wrote:<br>
<br>
> Is there a way for nginx to verify that the Content-Length header isn't<br>
> exceeded by the actual size of the request body?<br>
<br>
</span>This can't happen.  Anything after the Content-Length is a next<br>
request.<br>
<span class=""><br>
> Context: I'm working on an upload endpoint with a maximum upload size, and<br>
> it seems that client_max_body_size only checks the Content-Length header,<br>
> not the actual body. Additionally, from my testing it appears that<br>
> nginx accepts<br>
> the entire request body regardless of what the Content-Length is set to. I<br>
> want to be able to defend against a potential slowloris-style attack where<br>
> all of my workers could get tied up with overly-large uploads.<br>
<br>
</span>After the body is read, nginx will either read the next request<br>
(if allowed as per keepalive_timeout/keepalive_requests, as well<br>
as internal state), or will close the connection.  When closing<br>
the connection it will use lingering_timeout / lingering_time<br>
settings to read and discard additional data (if any), if allowed<br>
by the  lingering_close directive, see<br>
<a href="http://nginx.org/r/lingering_close" target="_blank">http://nginx.org/r/lingering_close</a> for details.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" 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" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>