HAproxy - Как сопоставить данный URL без каких-либо разрешенных путей? - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу пересылать трафик с использованием точно совпадающего URL-адреса, например test.example.com с правилом ACL в данном веб-интерфейсе. Когда test.example.com\path, он должен перейти на другой бэкэнд. Моя настройка немного сложнее, значит, просто указать acl, соответствующий пути для данного бэкэнда, у меня не работает.

Логика ACL: использовать backend IF acl_match_exact_url ДЛЯ ВСЕГО Иначе acl_use_other_backend.

Есть ли способ только сопоставить URL через ACL?

1 Ответ

0 голосов
/ 02 ноября 2019

Если я правильно понимаю ваш вопрос, вам нужен ACL, который может совпадать по заголовку хоста и / или пути. Вы можете сделать это несколькими способами, например, вы можете сопоставить req.hdr (хост) и путь отдельно, например так:

acl match_path path /path
acl match_host req.hdr(host) test.example.com
use_backend backend_one if match_path match_host
default_backend backend_two

Вы также можете сделатьэто с base , который объединяет хост и путь в один пример, например:

acl match_host_and_path base test.example.com/path
use_backend backend_one if match_host_and_path
default_backend backend_two
...