我想在haproxy( src和path_beg )中结合两种不同types的acl来决定使用哪个后端。
我尝试了以下是不正确的语法:
acl my_ip src 192.168.0.50 acl api_path path_beg /api use_backend private_backend if my_ip AND api_path use_backend public_backend if api_path
AND在第三行不起作用。
我也尝试了下面这是不正确的语法:
acl my_ip_and_api_path src 192.168.0.50 path_beg /api
在src和IP之后使用path_beg不起作用。
请确保你所连接的IP地址确实是192.168.0.50,最好logging一个/ 32范围的单个IP地址。 另外,删除if语句中的AND。 这是隐含的,如果使用,在某些情况下会导致一些无效的语法。 所以你的工作configuration应该是:
acl my_ip src 192.168.0.50/32 acl api_path path_beg /api use_backend private_backend if my_ip api_path use_backend public_backend if api_path