Hello,
Thank you for your suggestion. Experimenting I have stumbled on the config
question:
What is the easiest way of *conditionally* adding "proxy_pass_request_body off”
to a location? If method is PUT then I want to set: "proxy_pass_request_body
off”.
I have quite a complex location block which I would like to avoid to copy/paste
in my configuration.
I would like to do something like this:
location ~/my-uri(*.) {
if ($request_method = PUT) {
proxy_pass_request_body off;
}
… complex and long location handler ...
}
The only way I imagined so far is with conditional rewrite in front of my
original location - but that complicates my config file a lot with huge
copy/paste blocks. Something like that:
location ~ ^my-uri(*.) {
if ($request_method = PUT) {
rewrite ^ /internal_location_put$1;
}
rewrite ^ /internal_location_other$1;
}
location ~ ^/internal_location_put(.*) {
proxy_pass_request_body off;
… complex and long location handler ...
}
location ~ ^/internal_location_other(.*) {
… complex and long location handler ...
}
Thank you,
kuba
--
> On 06 Aug 2016, at 16:39, Maxim Dounin <[email protected]> wrote:
>
> Hello!
>
> On Fri, Aug 05, 2016 at 10:14:36AM +0000, Jakub Moscicki wrote:
>
>> Hello,
>>
>> Would this kind of patch make sense to include in nginx upstream? If yes,
>> then we would prepare it properly as an option (similar to
>> proxy_pass_request_body).
>>
>> Use-case: at CERN we use nginx as a reverse proxy for Webdav/HTTP access to
>> our large-scale storage system (https://eos.readthedocs.io,
>> https://eos.web.cern.ch) and in particular for Sync&Share service called
>> CERNBox
>> (https://www.researchgate.net/publication/288020928_CERNBox_EOS_end-user_storage_for_science).
>>
>> All client file transfer requests (PUT and GET) are first passed to a
>> metadata upstream server which performs an (internal) redirect to a
>> (calculated) storage node (http upstream server).
>>
>> In case of PUT we do not want and need to send the body to the metadata
>> server but only to the storage node after internal X-Accel redirect. Hence,
>> we have made this patch (on 1.6.2):
>
> Consider using "proxy_pass_request_body off" instead, see
> http://nginx.org/r/proxy_pass_request_body.
>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> nginx-devel mailing list
> [email protected]
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
_______________________________________________
nginx-devel mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-devel