Возможно ли / правильно ли настроить несколько интерфейсов, которые привязываются к одному порту на 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.