Linux

特定域的 Haproxy ACL 規則

  • April 24, 2018

在我的 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為 domain 應用 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

實現這一目標的推薦方法是什麼?

if您可以在條件中列出多個 ACL

http-request deny if blockedagent grow_mydomain

引用自:https://serverfault.com/questions/909279