Internal redirects to upstream
Maxim Dounin
mdounin at mdounin.ru
Thu May 7 01:50:19 MSD 2009
Hello!
On Thu, May 07, 2009 at 01:19:28AM +0530, Arvind Jayaprakash wrote:
> On May 06, Maxim Dounin wrote:
> >Hello!
> >
> >On Wed, May 06, 2009 at 11:54:50PM +0530, Arvind Jayaprakash wrote:
> >
> >> Is it possible to do an internal redirect to another url within nginx?
> >>
> >> Say I access url "/u1" which is handled by an upstream server. I need to
> >> be able to return a redirect to url "/u2" which is not a file but needs
> >> to be sent back to the upstream server (possibly different from the
> >> first one).
> >>
> >> X-Accel-Redirect seems to be for cases when /u2 maps to a file.
> >
> >No, X-Accel-Redirect just accepts uri and does internal redirect.
> >It has no knowledge of how /u2 will be handled - by static module,
> >proxy module, fastcgi or whatever.
>
> Excellent.
>
> Can any response headers sent by /u1 be transferred as request headers
> when making the request to /u2 ?
Any upstream response headers are available as $upstream_http_*.
But they will be cleared as soon as upstream module in /u2 will
start working, so you have to save them somewhere at rewrite
phase, e.g.:
location /u2 {
set $v $upstream_http_x_my_header;
proxy_set_header X-My-Header $v;
proxy_pass ...
}
Maxim Dounin
More information about the nginx
mailing list