subrequest and POST

Maxim Dounin mdounin at mdounin.ru
Wed Jun 15 04:01:59 MSD 2011


Hello!

On Tue, Jun 14, 2011 at 04:37:08PM -0700, Roman Vasilyev wrote:

> On 06/14/2011 04:35 PM, Roman Vasilyev wrote:
> >Hi,
> >
> >Whan to add that fixed it by removing all headers from main request.
> Sorry, removing from *subrequest*.
> >
> >        sr->headers_in.headers.part.nelts=0;
> >
> >Is it correct? Or exists more clear way to do that?

This isn't correct (in both meanings: it doesn't correctly remove 
headers from subrequest and not a correct way to prevent body from 
being read before subrequest).

I would recommend adding fake body to subrequest instead, see 
example here:

http://mdounin.ru/hg/ngx_http_auth_request_module/file/a29d74804ff1/ngx_http_auth_request_module.c#l193

Note that it may be also needed to instruct backend to not expect 
body, i.e. if you proxy_pass such subrequest you should either use

    proxy_pass_request_headers off;

or 

    proxy_set_header Content-Length "";

Maxim Dounin

> >
> >On 06/14/2011 10:43 AM, Roman Vasilyev wrote:
> >>Hi,
> >>
> >>I'm writing code, which making decision to accept or not rest of
> >>request in NGINX. For that I've created 2 modules, one
> >>subrequest module, another one accepting
> >>"client_max_body_size_var".
> >>
> >>Everything works fine, except POST data, I can get result of
> >>subrequest only when POST finished,
> >>can I get subrequest data before accepting or declining request_body?
> >>
> >>Regards
> >>Roman Vasilyev
> >>
> >>_______________________________________________
> >>nginx mailing list
> >>nginx at nginx.org
> >>http://nginx.org/mailman/listinfo/nginx
> >
> >
> >_______________________________________________
> >nginx mailing list
> >nginx at nginx.org
> >http://nginx.org/mailman/listinfo/nginx
> 
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list