Редирект с баланcингом
Maxim Dounin
mdounin at mdounin.ru
Thu Sep 25 18:52:03 MSD 2008
Hello!
On Thu, Sep 25, 2008 at 06:05:32PM +0600, Rauan Maemirov wrote:
>Здравствуйте.
>
>Помогите, пожалуйста, организовать редирект.
>
>В сервере example.com есть апстрим.
>
>upstream site {
> ip_hash;
>
> server site1.example.com;
> server site2.example.com;
> }
>
>и есть location
>
> location ^~ /one {
> proxy_pass http://site/one;
> proxy_redirect default;
> }
>
>Т.е. при обращении на example.com/one он должен редиректиться на
>site1.example.com/one или site2.example.com/one. rewrite не подходит, так
>как мне нужен редирект с ip_hash.
Редирект - это возврат http-ответа 302 Found (либо 301, 307), его
делает именно rewrite. То, что делает proxy_pass - это
проксирование.
Если хочется получить именно редирект, и при этом с хешированием
по ip-адресам - напишите простое хеширование на if'ах/map'ах, либо на
встроенном perl'е.
>Получаю "worker_connections is not enough while connecting to upstream" или
>"no live upstreams while connecting to upstream".
>
>Насколько я понял, он зацикливается. Но никак не могу понять почему.
Судя по всему - site1.example.com и site2.example.com указывают на
ту же машину, и при этом запрос попадает на обработку к тому же
proxy_pass'у и так далее - пока у nginx'а не кончаться соединения.
Maxim Dounin
More information about the nginx-ru
mailing list