proxy_redirect and variables
Maxim Dounin
mdounin at mdounin.ru
Mon Mar 29 20:55:53 MSD 2010
Hello!
On Mon, Mar 29, 2010 at 05:30:19PM +0200, Tobia Conforto wrote:
> Does anybody know anything about this?
Yes.
> > Does anybody know why proxy_redirect won't interpolate variables in its first argument?
Because it doesn't. If you think you are brave enough to change
it - submit patches.
> > I'm trying to setup a reverse proxy to a backend that uses
> > name-based virtual hosts, so I need to change both the
> > incoming Host header and the outgoing Location headers:
> >
> > server {
> > server_name public.hostname.com;
> >
> > set $proxy_to private.hostname.com
> >
> > location / {
> > proxy_pass http://backend;
> > proxy_redirect http://$proxy_to/ http://$host/;
> > proxy_set_header Host $proxy_to;
> > }
> > }
> >
> > This doesn't work, unless I expand $proxy_to in proxy_redirect
> > by hand.
> >
> > Am I supposed to write it in another way?
For the above config you shouldn't use variables at all, use
literal strings instead (and/or some config generator if you want
to save typing). Variables are evaluated at run time and should
be used only when they have to be different for different
requests.
Maxim Dounin
More information about the nginx
mailing list