proxy_pass and if condition
Igor Sysoev
is at rambler-co.ru
Wed Apr 5 13:57:22 MSD 2006
On Wed, 5 Apr 2006, Andrey Y. Ostanovsky wrote:
> Возникла задача: пришел клиент с IP адреса 1.1.1.1 к нам с запросом
> http://www.foo.bar - ему надо сделать proxy_pass на один бакэнд, а всем
> остальным, пришедшим к нам с тем же самым запросом - сделать proxy_pass
> на другой бакэнд.
> Попробовал через:
> if ($host ~ 1.1.1.1) {
> proxy_pass 1;
> }
> Не работает, ругается. :( Пробовал через:
> location / {
> allow 1.1.1.1;
> deny all;
> proxy_pass 1;
> }
> location / {
> allow all;
> proxy_pass 2;
> }
> До второго location дело, похоже, не доходит. Все клиенты получают 404.
>
> Есть ли еще какие-нибудь варианты?
Примерно так:
location / {
if (...) {
rewrite ^(.+)$ /b1/ last;
}
proxy_pass http://backend2/;
}
location /b1/ {
proxy_pass http://backend1/;
}
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list