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@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx