将正则表达式/通配符与haproxy中的HTTP标头NAMES匹配

时间:2018-08-03 20:29:55

标签: regex http-headers haproxy

我想添加一个acl规则以捕获与以下正则表达式匹配的标头 name 的存在:^X-\w+-Signature(或任何通配符)。匹配示例:

X-Abc-Signature
X-Whatever-Signature
X-Service-Signature

我知道我可以明确创建规则,例如:

acl has_abc_token req.fhdr(X-Abc-Signature) -m found
acl has_whatever_token req.fhdr(X-Whatever-Signature) -m found
acl has_service_token req.fhdr(X-Service-Signature) -m found

甚至可以在haproxy中这样做吗?

还有,据我了解,haproxy中的\w字符类does not exist是吗?

看起来req.hdr_names() 可能是我想要的东西,但是我对如何使用它感到茫然。

1 个答案:

答案 0 :(得分:0)

没关系。我想通了:

acl has_sig req.hdr_names() -m reg -i ,X-[A-Za-z]+-Signature