Reading body during the REWRITE phase ?

Thibault Koechlin thibault.koechlin at nbs-system.com
Fri Jan 15 14:01:06 UTC 2016


Hi,

I have a module (naxsi) that reads the body during the REWRITE phase, in
the exact same way that ngx_form_input does :
https://github.com/calio/form-input-nginx-module.

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)


Thanks,

-- 
Thibault Koechlin


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20160115/2cfad03e/attachment.bin>


More information about the nginx-devel mailing list