Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Редирект с баланcи нгом
On 26.09.2008, at 15:00, Rauan Maemirov wrote:
В том-то и дело, что мне нужен _именно_ редирект, а не проксирование.
прикол ...
ну если найдёте способ узнать состояние последнего бита в последнем
октете ИП адреса источника запроса в конфиге нгинх-а и проксировать
согласно результату, то получится почти поровну отрерайтить
запросы ... :))
^^^ такой изврат для того, чтобы не хранить таблицу, что-куда было
отрерайчено ... способ проще и быстрее будет к тому-же ...
без перла наверно не обойтись
2008/9/26 Alexey V. Karagodov <kav@xxxxxxxxxxxxxx>
повесьте сайты на внутренние ИП
проксируйте запросы на внешний ИП
зачем ыфы/мыпы городить
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@xxxxxxxxxx>
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
|