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