В моей конфигурации Haproxy у меня есть несколько наборов правил ACL. Мой haproxy.config выглядит так:
frontend incoming
bind *:80
acl grow_mydomain hdr(host) grow.mydoamin.com
use_backend grow_mydomain if grow_mydomain
acl staging_mydomain hdr(host) staging.mydomain.com
use_backend staging_mydomain if staging_mydomain
Теперь я хочу установить еще одно правило для блокировки плохих ботов. Я хочу добавить новое правило ACL,
acl blockedagent hdr_reg(user-agent) -i -f /etc/haproxy/badbots.lst
http-request deny if blockedagent
Теперь я хочу применить badbots
Правило ACL только для домена grow.mydomain.com
. Не следует рассматривать домен staging.mydomain.com
Я попробовал описанный ниже подход, но он не работает. Потому что он рассматривает оба домена.
frontend incoming
bind *:80
acl blockedagent hdr_reg(user-agent) -i -f /etc/haproxy/badbots.lst
http-request deny if blockedagent
acl grow_mydomain hdr(host) grow.mydoamin.com
use_backend grow_mydomain if grow_mydomain
acl staging_mydomain hdr(host) staging.mydomain.com
use_backend staging_mydomain if staging_mydomain
Какой рекомендуемый способ добиться этого?
Вы можете перечислить несколько ACL в if
состояние
http-request deny if blockedagent grow_mydomain