| From | Sent On | Attachments |
|---|---|---|
| Arvind Jayaprakash | May 6, 2009 11:24 am | |
| Maxim Dounin | May 6, 2009 11:50 am | |
| Arvind Jayaprakash | May 6, 2009 12:49 pm | |
| Maxim Dounin | May 6, 2009 2:49 pm |
| Subject: | Re: Internal redirects to upstream | |
|---|---|---|
| From: | Maxim Dounin (mdou...@mdounin.ru) | |
| Date: | May 6, 2009 2:49:56 pm | |
| List: | ru.sysoev.nginx | |
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





