The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"software layer7 (HTTP) load balancing по полям из http heade..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от Sonny (ok) on 29-Июл-09, 17:37 
Добрый день.

Есть такой вопрос - существуют ли доступные реализации software layer7 (HTTP) load balancing ???
Нужно сделать, чтобы в зависимости от значения полей из http header, таких как "host", "url" и т.п., трафик раскидывался бы по разным направлениям.

Пример - чтобы запрос GET HTTP на ru.www.net шел на один хост, а запрос на en.www.net - на другой ??? Т.е. в соответсвии с заданными правилами для разных URL.

Также вопрос по функциям подмены данных в http заголовках. Нужно чтобы решение могло менять значения отдельных полей в HTTP запросе, например URL с su.www.net на ru.www.net. Или могло бы вставлять во все пропускаемые HTTP запросы одинаковое значение в поле Host.

Насколько я знаю, всё это умеет делать железячное решение от Циско - CISCO ACE. Вроде как есть что-то подобное и от других производителей телеком. оборудования.

А видел ли кто-нибудь действующие программные решения, которые умеют это делать ?
Сразу обе нужные функции (маршрутизацию 7-го уровня \ подмену заголовков 7-го уровня) или по отдельности (т.е. 2 разных программы)
Желательно Open Source.

p.s. Как я понимаю, на популярных продуктах типа l7-filter такое не реализовать, т.к. подобные решения не поддерживают "TCP Delayed Binding" и соответсвенно могут маршрутизировать данные только по IP и порту, а не по типу протокола 7-го уровня и тем более не по данным в заголовке запроса протокола 7-го уровня.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от BlackHawk (ok) on 29-Июл-09, 17:50 
>[оверквотинг удален]
>
>Сразу обе нужные функции (маршрутизацию 7-го уровня \ подмену заголовков 7-го уровня)
>или по отдельности (т.е. 2 разных программы)
>Желательно Open Source.
>
>p.s. Как я понимаю, на популярных продуктах типа l7-filter такое не реализовать,
>т.к. подобные решения не поддерживают "TCP Delayed Binding" и соответсвенно могут
>маршрутизировать данные только по IP и порту, а не по типу
>протокола 7-го уровня и тем более не по данным в заголовке
>запроса протокола 7-го уровня.

squid + squidguard + firewall routing?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от сабакка on 29-Июл-09, 19:02 
mod_proxy не годиться?
или ngnix
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от Sonny (ok) on 29-Июл-09, 20:34 
>squid + squidguard + firewall routing?

А можно подробнее ? какую функцию каком из вышеперечисленных продуктов предлагаете реализовывать ? Что вы имеете ввиду под firewall routing?

>mod_proxy не годиться?
>или ngnix

спасибо за совет. пока не знаю, надо смотреть, что они умеют...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от BlackHawk (ok) on 29-Июл-09, 23:57 
>>squid + squidguard + firewall routing?
>
>А можно подробнее ? какую функцию каком из вышеперечисленных продуктов предлагаете реализовывать
>? Что вы имеете ввиду под firewall routing?

squid может по url выставлять source ip (есть есть два аплинка может чем-то помочь), а потом по source ip firewall redirect'ит в нужный интерфейс
squidguard позволяет переделывать/переписывать url по regexp
но вместо squidguard можно много чего использовать
вашу задачу сможет решить только прокся IMHO
>
>>mod_proxy не годиться?
>>или ngnix
>
>спасибо за совет. пока не знаю, надо смотреть, что они умеют...

по сути тоже что и я предложил. nginx умеет rewrite по regexp

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от Sonny (ok) on 30-Июл-09, 17:31 
>squidguard позволяет переделывать/переписывать url по regexp

А он может переделывать только URL или и прочие поля HTTP запроса (т.е. например Host, User-Agent и т.п.) ? Если и прочие, то поддерживаются ли "нестандартные" поля в HTTP запросе ?

>nginx умеет rewrite по regexp

Поддерживаются ли при этом "нестандартные" поля в HTTP запросе ?
Каким образом указать nginx, какое поле модифицировать ? Просто добавить к названию поля $http_ ,т.е. например для Accept-Language -> if ($http_Accept-Language = ru) {rewrite ...
Или немного не так ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от BlackHawk (ok) on 30-Июл-09, 19:56 
>>squidguard позволяет переделывать/переписывать url по regexp
>
>А он может переделывать только URL или и прочие поля HTTP запроса
>(т.е. например Host, User-Agent и т.п.) ? Если и прочие, то
>поддерживаются ли "нестандартные" поля в HTTP запросе ?

ему все равно... что припишешь то и будет
>
>>nginx умеет rewrite по regexp
>
>Поддерживаются ли при этом "нестандартные" поля в HTTP запросе ?
>Каким образом указать nginx, какое поле модифицировать ? Просто добавить к названию поля $http_ ,т.е. например для Accept-Language -> if ($http_Accept-Language = ru) {rewrite ...
>Или немного не так ?

этому так же... изначально nginx позиционировался как load-balancer :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от cyclope (ok) on 30-Июл-09, 11:43 
попробуйте просмотреть модуль string для iptables
вот пример борьбы с одним типом риквеста http://spamcleaner.org/en/misc/w00tw00t.html
единственное, это переписывание l7 полей - наверное лучше возложеть на прокси.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "software layer7 (HTTP) load balancing по полям из http heade..."  +/
Сообщение от Sonny (ok) on 30-Июл-09, 16:40 
>попробуйте просмотреть модуль string для iptables
>вот пример борьбы с одним типом риквеста http://spamcleaner.org/en/misc/w00tw00t.html
>единственное, это переписывание l7 полей - наверное лучше возложеть на прокси.

Спасибо, познавательная статья.
Правда для моего случая она не очень подходит, т.к. во первых, как я понял, использование модуля String позволяет только DROPать пакеты, содержащие заданную информацию, а не форвардить их в зависимости от этой строки на разные хосты.
А использование модулей TCP и Recent не позволяет реализовать функционал "TCP Delayed Binding", так как они позволяют лишь выделить пакет с HTTP запросом из проходящего трафика, а не принять вначале соединение "на себя", получить пакет с GET и после этого принять решение что с ним делать... Т.е. load balancing в зависимости от текста HTTP запроса на этих модулях не сделать.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2023 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру