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

HAProxy: несколько интерфейсов, одна привязка

Возможно ли / правильно ли настроить несколько интерфейсов, которые привязываются к одному порту на HAProxy?

frontend A
    bind :80
    bind :2000-5000
    acl rule_about_A
    use_backend server_A if rule_about_A

frontend B
    bind :80
    acl rule_about_B
    use_backend server_B if rule_about_B

В этом случае интерфейс A должен привязаться к 80 и диапазону 2000-5000. Что касается внешнего интерфейса B, я не хочу привязывать его ко всем этим портам, только к 80.

Я думал, что это будет выглядеть чистым, если я настрою его таким образом, вместо этого буду использовать один интерфейс и играть с ACL, но похоже, что эта конфигурация заставляет HAProxy работать неправильно - иногда применяется правильное правило, а иногда нет.

Прежде чем присоединиться к этим интерфейсам как к единому, Можно ли использовать несколько интерфейсов, которые привязаны к одним и тем же портам?

РЕДАКТИРОВАТЬ: Кстати, я использую HAProxy 1.5

Нет, нельзя этого делать и ожидать разумного поведения.

Запросы на порт 80 будут поступать случайным образом в один или другой интерфейс. Результат такой конфигурации не определен, и хотя технически я не действителен, для всех практических целей это бессмысленная конфигурация.

Все правила, применяемые к порту 80 (или любому порту), должны быть указаны на одном frontend (или один listen), который привязан к порту 80.