Re: масштабирование

Богун Дмитрий vugluskr на vugluskr.org.ua
Чт Июл 1 15:29:04 MSD 2010


В Втр, 29/06/2010 в 13:07 +0400, Igor Sysoev пишет:
> > Есть задача разделить проект по трем
> > серверам
> > 
> > Сейчас проект состоит из трёх
> > отдельных сайтов, которые лежат на
> > одном сервере в трёх каталогах.
> > Выглядит это так:
> > 
> > mysite.ru/dir1/
> > mysite.ru/dir2/
> > mysite.ru/dir3/
> > 
> > Состоит задача выкинуть каждый сайт на
> > отдельный рядом стоящий сервер. При
> > условии того что адреса обращения (URL)
> > останутся теже.
> > 
> > Допустим сделать поддомены это просто
> > (http://dir1.mysite.ru/). Но важно сохранить
> > обращение к основному адресу "mysite.ru" без
> > всяких там поддоменов.
> > 
> > раньше была ферма на nginx. Что то вроде
> > такого:
> > 
> > upstream backend {
> > server 192.168.0.1 weight=2 max_fails=10 fail_timeout=30s;
> > server 192.168.0.2 weight=2 max_fails=10 fail_timeout=30s;
> > server 192.168.0.3 weight=4 max_fails=10 fail_timeout=30s;
> > }
> > 
> > Но всёровно выходит 3 сайта только на
> > трёх back-end серверах, и просто
> > распределение нагрузки между ними.
> > 
> > Как реализовать механизм обращения к
> > (mysite.ru/dir1/), но выполнение скриптов
> > происходило на другом сервере например
> > (cs1.mysite.ru).? ngx_http_proxy_module это может
> 
> server {
>      server_name  mysite.ru;
> 
>      location /dir1/ {
>          proxy_pass   dir1.mysite.ru;
>      }
> 
>      location /dir2/ {
>          proxy_pass   dir2.mysite.ru;
>      }
> 
>      location /dir3/ {
>          proxy_pass   dir3.mysite.ru;
>      }
> }
Разве эта конфигурация даст то что хотел автор исходного вопроса? Ведь в
таком виде на dir1.mysite.ru будут приходить запросы с префиксов /dir1/.
Для остальных location'ов аналогично.

Я недавно пытался таким же образом "завернуть" один проект. Изменить
префикс можно, изменить location который возвращают в redirect'ах тоже
можно, даже ссылки в отдаваемых страницах можно переписать, но я
нуступил на то что решить не смог - на куку, которую выдавали на
определенный path. 

Есть ли возможность переписать path в заголовке Set-Cookie пришедшем от
backend'а?




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