在我的 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
实现这一目标的推荐方法是什么?
答案1
您可以在if
条件中列出多个 ACL
http-request deny if blockedagent grow_mydomain