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

Сложное И / ИЛИ в условном бэкэнде

Я пытаюсь использовать серверную часть при следующих условиях:

Это запрашиваемый сайт prod (например, mysite.com и beta.mysite.com)

И

Это запрос api

ИЛИ

Это запрос на включение

У меня есть следующие настройки ACL для каждого условия:

acl prod hdr_beg(host) -i mysite.com
acl url_api  path_beg /api/
acl url_opt-in  path_beg /opt-in/

Теперь я хотел бы перенаправить на prod-api-backend вот так:

use_backend prod-api-backend if prod AND ( url_api OR url_opt-in )

Однако я не могу понять, как я могу написать такое условие без получения ошибки конфигурации.

В логике haproxy нет 'и', но если вы расширите скобки и напишете это так, все будет хорошо:

use_backend prod-api-backend if prod url_opt-in or prod url_api