set directive not working when mirror is used
PALMA Mickael
MPALMA at largus.fr
Fri Sep 20 15:02:00 UTC 2019
Thank you Dimitry,
I will remove the default value.
It will be empty by default in stead of ‘-‘ not a big loss ;-)
Regards.
On 20 Sep 2019, at 14:54, Maxim Dounin <mdounin at mdounin.ru<mailto:mdounin at mdounin.ru>> wrote:
Hello!
On Fri, Sep 20, 2019 at 07:59:15AM +0000, PALMA Mickael wrote:
Hi,
Here is my location directive :
server {
# Start with an undefined API name, each API will update this value
set $api_name -;
[...]
location = /_oauth {
internal;
set $api_name 'Oauth API';
# Policy configuration here (authentication, rate limiting, logging, more...)
mirror /_mirrored_api;
proxy_pass http://$upstream$request_uri;
}
}
In my log I only get “-“ as api_name but if I comment the mirror directive I get 'Oauth API’.
Any idea how to avoid that.
I always want the name to be ''Oauth API’'.
The problem is that variables space is shared among all
subrequests, including mirror one. As such, "set $api_name -;" in
the mirror subrequest overrides the one previously set for the
request. The only solution is to avoid changing variables you
don't want to be changed. In this particular configuration -
consider removing "set ..." from the server level.
--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx mailing list
nginx at nginx.org<mailto:nginx at nginx.org>
http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20190920/b27ee459/attachment-0001.htm>
More information about the nginx
mailing list