我正在尝试在 haproxy 配置中创建一个组合 acl。
这种事可能吗?
acl bare-dom1 hdr(host) -m reg -i domain1.org(:[0-9]+)?$
acl bare-dom2 hdr(host) -m reg -i domain2.org(:[0-9]+)?$
acl bare-dom3 hdr(host) -m reg -i domain3.org(:[0-9]+)?$
acl needs-www (bare-dom1 || bare-dom2 || bare-dom3)
不幸的是,从目前的情况来看,我还没有找到办法。是的,我当然可以在要使用它的地方添加大 OR,但也许以后我会有 20 个域,如果我要在多个地方使用它,那就会变得很难看。
答案1
您可以多次重复同名的 ACL,它们将通过“OR”运算符进行组合。
例子:
acl bare-dom hdr(host) -m reg -i domain1.org(:[0-9]+)?$
acl bare-dom hdr(host) -m reg -i domain2.org(:[0-9]+)?$
acl bare-dom hdr(host) -m reg -i domain3.org(:[0-9]+)?$
use_backend backend bare-dom
我认为不可能将命名 ACL 组合到另一个命名 ACL 中。