request body and client_body_buffer_size
mdounin at mdounin.ru
Sat Sep 14 13:49:22 UTC 2013
On Fri, Sep 13, 2013 at 05:56:51PM -0700, Jeroen Ooms wrote:
> Is it correct that when $content_length > client_body_buffer_size,
> then $request_body == "" ? If so this would be worth documenting at
Yes, it's intended behaviour. If a request body is larger than
client_body_buffer_size, it's written to disk and not available in
memory, hence no $request_body. The limitation is more or less
obvious, and it's also explicitly documented here in
the $r->request_body() method documentation:
It might worth adding some short reference into $request_body
variable description though.
> I am using:
> proxy_cache_methods POST;
> proxy_cache_key "$request_method$request_uri$request_body";
> Which works for small requests, but for large requests clients got
> very strange results due to $request_body being empty and hence
> getting false cache hits for completely different form posts.
> Is there something available like $body_hash that can be used as a
> caching key even for large request bodies? Or alternatively, how
> would I configure nginx to not cache requests when content_length
> is larger than client_body_buffer_size?
should do the trick, see http://nginx.org/r/proxy_no_cache.
More information about the nginx