Haproxy acl 基于 URL 参数的存在

Haproxy acl 基于 URL 参数的存在

我尝试根据 URL 参数的存在将请求路由到不同的后端。我尝试了以下方法,但始终无法匹配,即使我的请求包含参数host,例如POST http://127.0.0.1/result?build=2021041601&host=foo123

acl has_host_urlparam urlp(host)
use_backend backend-host if has_host_urlparam
default_backend backend-generic

我是否必须将 urlp() 返回的值与某些值进行比较来检查该参数是否存在?

答案1

显然,我缺少一个用于查找匹配存在的标志:

acl has_host_urlparam urlp(host) -m found
use_backend backend-host if has_host_urlparam
default_backend backend-generic

相关内容