Re: Редирект с баланcингом

Alexey V. Karagodov kav at karagodov.name
Fri Sep 26 16:09:38 MSD 2008


On 26.09.2008, at 15:00, Rauan Maemirov wrote:

> В том-то и дело, что мне нужен _именно_ редирект, а не проксирование.
прикол ...

ну если найдёте способ узнать состояние последнего бита в последнем  
октете ИП адреса источника запроса в конфиге нгинх-а и проксировать  
согласно результату, то получится почти поровну отрерайтить  
запросы ... :))
^^^ такой изврат для того, чтобы не хранить таблицу, что-куда было  
отрерайчено ... способ проще и быстрее будет к тому-же ...

без перла наверно не обойтись

>
>
> 2008/9/26 Alexey V. Karagodov <kav at karagodov.name>
>
>> повесьте сайты на внутренние ИП
>> проксируйте запросы на внешний ИП
>> зачем ыфы/мыпы городить
>>
>>
>> On 26.09.2008, at 11:11, Rauan Maemirov wrote:
>>
>> Если хочется получить именно редирект, и при этом с хешированием по
>>>>
>>> ip-адресам - напишите простое хеширование на >if'ах/map'ах, либо на
>>> встроенном perl'е.
>>>
>>> Пытаюсь сделать на map'ах. Но не пойму как написать  "простое  
>>> хеширование
>>> на
>>> if'ах/map'ах". Так как у меня нужно редиректить только один  
>>> location, map
>>> выдает ошибки...
>>>
>>> map $uri $new {
>>>   /one   http://site1.example.com/one/;
>>>   /one   http://site2.example.com/one/;
>>> }
>>>
>>> 2008/9/25 Maxim Dounin <mdounin at mdounin.ru>
>>>
>>> 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