Haproxy检查是否只有密钥存在

时间:2018-09-07 10:44:00

标签: haproxy

我正在使用haproxy作为负载均衡器。对于某些条件,我有特定条件。

我需要确保注销的查询参数应以http或https开头。如果查询参数值不是以http或https开头,则只需拒绝该请求。

我检查了很多情况,但似乎对我不起作用。

我尝试了以下

acl url_param1 urlp_reg(logout) ^(http|https)://.*$
http-request deny if url_param1

上面的命令将阻止所有URL,即使该URL中没有注销键。

如果URL中没有注销参数,我需要允许。我只想仅在注销参数值不是以http / https开头的情况下大容。

建议我这样做的条件。

1 个答案:

答案 0 :(得分:1)

您对此行为的描述没有任何意义-按照书面说明,应否认该参数是否存在并且确实以http(s)开头。

正确的逻辑是这样:

http-request deny if { url_param(logout) -m found  } !{ urlp_reg(logout) ^(http|https)://.*$ }

如果参数存在并且参数不以http(s)://开头,则拒绝请求。