Reading body during the REWRITE phase ?
thibault.koechlin at nbs-system.com
Fri Jan 15 14:01:06 UTC 2016
I have a module (naxsi) that reads the body during the REWRITE phase, in
the exact same way that ngx_form_input does :
When used with auth_request (or maybe other modules, but that's the
first time I encounter this issue within a few years of usage), there is
no request made to the upstream if the request is made using POST/PUT
and the body is bigger than client_body_buffer_size.
For the simplicity of the example, we'll assume I'm talking about
ngx_form_input (behaviour is the same, except code is way shorter).
The user reporting me the bug opened a ticket :
https://trac.nginx.org/nginx/ticket/801. It is possible to replace naxsi
with ngx_for_input and obtain the same results.
From Maxim's reply, it seems I failed to properly restore request
handlers after reading body.
What would be (if there is any) the proper way to read body within
REWRITE phase ? Is there any example/existing module that does such so I
can understand what am I doing wrong ? (In the past, I always thought
ngx_form_input was the reference one).
PS: You can find a bit more details here :
https://github.com/nbs-system/naxsi/issues/226 (including sample config
& commands to reproduce bug)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 473 bytes
Desc: OpenPGP digital signature
More information about the nginx-devel