| From | Sent On | Attachments |
|---|---|---|
| zestriddle | Nov 18, 2009 12:42 am | |
| Nick Pearson | Nov 18, 2009 8:26 pm | |
| zestriddle | Nov 19, 2009 1:01 am | |
| Igor Sysoev | Nov 19, 2009 1:13 am |
| Subject: | Re: Redirect based on header value. | |
|---|---|---|
| From: | Nick Pearson (nick...@gmail.com) | |
| Date: | Nov 18, 2009 8:26:10 pm | |
| List: | ru.sysoev.nginx | |
Maybe something like this... (config below assumes your header is "My-Header" and must have an integer value to be recognized)
server { # ...
set $path_prefix ''; if ($http_my_header ~ (\d+)) { set $path_prefix /$1; }
location / { # proxy_set_header calls here proxy_pass s1_server$path_prefix; } }
I know "if" is evil, but I don't know that there's any other way to accomplish a conditional like this.
Nick
On Wed, Nov 18, 2009 at 2:42 AM, zestriddle <ngin...@nginx.us> wrote:
Let assume that server called n1 is reverse proxy (SSL) for http server s1.
Client c1 connects to n1 using given URL https://n1/index.html and in the end
reads web page from /var/www/index.html on s1. What I want to do is to change
URL sent to s1 depending on some header value sent by client. Namely, c1
connects to n1 with URL https://n1/index.html and with header "some_header=123"
then n1 checks in some configuration file what to do if some_header has the
value of 123 and changes the URL http://s1/123/index.html (as an example). I
did the same thing on Apache using *.map files and RewriteRule how I can do the
same thing in nginx ?
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,23791,23791#msg-23791





