Re: Редирект на сервер в зависимости от location.

Igor Sysoev igor на sysoev.ru
Вт Янв 25 11:52:52 MSK 2011


On Tue, Jan 25, 2011 at 11:42:40AM +0300, Andrew Kopeyko wrote:

> On Mon, 24 Jan 2011, Night_Watch wrote:
> 
> > Т.к. на сервер не нужно передавать URI, то
> > мне нужен п.2.
> 
> Похоже, здесь вы что-то путаете...
> Предположу, что вам надо не передавать на бэкенд не URI, а лишь тот 
> добавленный префикс (location), по которому вы на фронтенде разные бэкенды 
> различаете.
> 
> > Тогда как же мне быть?
> 
> попробуйте добавленный префикс вырезать rewrite'ом:
> 
> location  /repo1/ {
>      rewrite      /repo1/(.*)  /$1  break;
>      proxy_pass   http://127.0.0.1:9080;
>      ...
> }
> 
> location  /repo2/ {
>      rewrite      /repo2/(.*)  /$1  break;
>      proxy_pass   http://127.0.0.1:9081;
>      ...
> }

НЕ НАДО.

Во-первых, не нужно городить реврайты на ровном месте:
такая запись - это жуткий способ записать
    location /repo1/ {
        proxy_pass  http://127.0.0.1:9080/;
и чем меньше в интернетах будет таких советов, тем лучше.

Во-вторых, там hg, который генерит ссылки от корня.
Можно попробовать sub_filter, но лучше сделать сайта:
repo1.domain.com и repo2.domain.com.


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



Подробная информация о списке рассылки nginx-ru