HAProxy 动态 acl

HAProxy dynamic acl

在 HAProxy 中是否可以为虚拟主机重定向编写一个 ACL(一条规则适用于所有虚拟主机)

举例

if header 包含 backend-name.domain.com ---> 使用名称为 backend-name

的后端

它应该像,

a.domain.com -----> backend a
b.domain.com -----> backend b

没有明确地分别为 a 和 b 编写 ACL。

这里我需要一个 ACL 用于所有基于域的路由,因为我使用通配符 DNS 将 domain.com 的所有 sub-domains 解析为 HAProxy IP。

我正在动态添加和删除 back-ends,很难使用脚本为每个新 front-end 编写 ACL。

提前致谢。

只需使用这个:

frontend generic
  # foo.host.com --> foo
  use_backend %[req.hdr(host),lower,field(1,'.')]

backend foo
   ...

backend bar
   ...