Назад | Перейти на главную страницу

Как загрузить балансировщик с haproxy без файлов cookie?

В настоящее время я использую HAProxy перед группой серверов приложений IIS .NET. Возникла непредвиденная проблема: я использую файлы cookie для балансировки нагрузки, это явно не работает для браузера, который отказывается от использования файлов cookie (учитывая недавние изменения в законах о файлах cookie в Великобритании, давайте не будем вдаваться в подробности).

Это моя текущая конфигурация HAProxy:

listen backend-servers 127.0.0.1:80

cookie bs insert
balance roundrobin 
option persist
option redispatch
server appserver1 192.168.0.1:80 cookie bs1
server appserver2 192.168.0.2:80 cookie bs2

Я не хочу переделывать приложение, поэтому я хотел бы найти способ обойти это в HAProxy.

Есть несколько вариантов, таких как балансировка с использованием исходного IP-адреса или строки в URL-адресе, но можете ли вы использовать более одного метода в HAProxy? Можете ли вы настроить метод возврата или альтернативный метод, подобный этому?

Спасибо

Прямая цитата из руководства:

Существует исключение из требования предоставить информацию о файлах cookie и получить согласие, если использование файла cookie:

(а) с единственной целью выполнения передачи сообщения по сети электронной связи; или

(b) когда такое хранение или доступ строго необходимы для предоставления услуги информационного общества, запрошенной подписчиком или пользователем.

Если вы говорите о куки, чтобы держать вас на правильном сервере ... это 100% попадает в категорию А. Если вы используете тот же куки для других целей ... остановите его.

Для получения дополнительной информации: http://www.ico.gov.uk/for_organisations/privacy_and_electronic_communications/the_guide/~/media/documents/library/Privacy_and_electronic/Practical_application/cookies_guidance_v3.ashx

В balance source алгоритм это то, что вы ищете; перейти от использования roundrobin.

Исходный IP-адрес хешируется и делится на общий вес работающих серверов, чтобы указать, какой сервер получит запрос. Это гарантирует, что один и тот же IP-адрес клиента всегда будет достигать одного и того же сервера, пока ни один сервер не выходит из строя или не работает.

Если файл cookie не сохраняется, haproxy отправляет данные на основе вашего balance только ключевое слово, которое roundrobin.