最近我有一个需要使用haproxy的项目,在我重新编写配置文档后,我找到了acl。
使用acl我可以通过请求网址过滤一些后端,这很酷。
但还不够,我想通过我匹配的url params生成动态后端服务器,例如:
acl dynamic_ser url_reg /*.(10.0.0.1|10.0.0.2)$
use_backend dynamic_server if dynamic_ser
backend dynamic_server
balance leastconn
option httpclose
server node1 10.0.0.1:8080
server node2 10.0.0.2:8080
对于我的问题,网址是动态的,有时可能是/path?ip = 10.0.0.1和
有时可能会喜欢这个/path?ip = 10.0.0.1& 10.0.0.2,也可能是/path?ip=10.0.0.1&10.0.0.2&10.0.0.3。
每次我想让后端服务器依赖于匹配,我可以一次定义这些服务器。但我不认为它很好,我可以使用任何方法吗?
答案 0 :(得分:0)
请记住&是键值对之间的分隔符,因此/path?ip=10.0.0.1&10.0.0.2
映射到{'ip':'10.0.0.1','10.0.0.2':null}