web-dev-qa-db-ja.com

特定のドメインのHaproxyACLルール

私の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

ここで、badbotsACLルールをドメイン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
Cyberzinga

if条件で複数のACLを一覧表示できます

http-request deny if blockedagent grow_mydomain

2
AlexD