在HAProxy中,可以为虚拟主机重定向编写ACL(所有虚拟主机都有一个规则)
例如说
如果header包含backend-name.domain.com
--->使用名为backend-name
的后端
它应该像,
a.domain.com -----> backend a
b.domain.com -----> backend b
没有明确地为a和b分别编写ACL。
在这里,我需要一个ACL用于所有基于域的路由,因为我使用通配符DNS为domain.com的所有子域解析为HAProxy IP。
我正在动态添加和删除后端,很难为每个新的前端使用脚本编写ACL。
提前致谢。
只需使用:
frontend generic
# foo.host.com --> foo
use_backend %[req.hdr(host),lower,field(1,'.')]
backend foo
...
backend bar
...