ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: перенаправление в прокси



On Fri, Jun 15, 2007 at 04:53:58PM +0400, Garanin Michael wrote:

> На сайте использую nginx и все запросы передаю backend'у через proxy_pass.
> Теперь хочу сделать чтобы у каждого юзера вместо адреса вида 
> "domen.ru/user1" был "красивый" адрес вида "user1.domen.ru".
> 
> То есть что-бы запрос вида "user1.domen.ru" передавался на backend 
> (через proxy_pass) как "127.0.0.1/user1".
> 
> Если вбить варианты для всех "user"'ов статически, то нет проблем, а как 
> в динамике сделать?
> 
> попробовал написать:
> server {
>  .....
> server_name domen.ru  *.domen.ru;
>  ..... 
> location / {
>  if ($host ~*  ^(.*).domen.ru$ ) {
>            proxy_pass http://localhost:8080/$1;
>          }
>  ....
>  }
> 
> }
> но nginx пишет что недопустимо использовать proxy_pass если в if регул. 
> выражение используется.
> Как решить проблему?

Сейчас только так:

 location / {
     if ($host ~*  ^(.*).domen.ru$ ) {
         set      $user    $1;
         rewrite  ^(.+)$   /$user$1   break;
         proxy_pass http://localhost:8080;
     }
  ....
 }


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.