Настройка HAProxy для маршрутизации трафика на основе url_param

Я очень новичок в HAProxy. Я потратил несколько часов, пытаясь понять, как это сделать, но не смог получить никаких указаний. Мое требование заключается в следующем:

Если конечной точкой запроса является /special, тогда мне нужно проверить URL_PARAM.

Например: localhost/special? Id=10 На основе идентификатора мне нужно направить его на один из 3 серверов. Если id <=3 server1, если id > 3 и id <=6 server2, то еще server3.

Если конечной точкой не является / специальный циклический перебор между всеми 3 серверами.

Как мне достичь этого 2 уровня балансировки?

1 ответ

Вы могли бы использовать acl location_special path /specialчтобы соответствовать URL и acl srv_1 urlp_val(id) -m int eq 0:3чтобы соответствовать id= параметр. И наконец

use-server server1 if location_special srv_1

сопоставить запрос с определенным сервером

Другие вопросы по тегам