nginx http-core enhancement: named location in subrequests + directive use_location

Sergey Brester serg.brester at sebres.de
Mon May 4 08:02:33 UTC 2015


Am 30.04.2015 20:56, schrieb Maxim Dounin:

> > Hello!
> >
> > On Thu, Apr 30, 2015 at 07:13:01PM +0200, Sergey Brester wrote:
> >
> > I think not for internal request?! if (r->internal && r->uri...
> 
> You think it's not a problem, or you think it won't be illegal?
> 
What I meant was, it is for internal request only - so If I itself want 
use named location (with @), I must take care about uri, will be passed 
to the backend.

> While it's not generally a problem for nginx if an URI in an
> internal request becomes illegal, it's certainly not a case we are
> going to promote by applying patches. If illegal URIs are ok for
> you, you may just use something like
> 
>  auth_request @foo;
> 
>  location = @foo {
>  ...
>  }
> 
> And it will work right now out of the box.
> 
Yes, but not as NAMED location! With everything what belongs to 
(slowly).

> What you are trying to do is to misuse named locations as static
> locations with some invalid URIs. This is wrong, named locations
> are different. They preserve URI of a request untouched. That's
> their main property and main advantage.
> 
Now little bit understandable, what you mean. What can I do, to prevent 
changing uri in this case?
I've taken simply existing code and packaged as 
ngx_http_core_find_named_location

> (BTW, please use plain text for further messages, I'm a bit bored
> to fix quoting in what your mail client produces as a plain text
> version. Thank you.)
Sorry now as plain (but it is more likely your client:)



More information about the nginx-devel mailing list