我正在使用haproxy作为负载均衡器。对于某些条件,我有特定条件。
我需要确保注销的查询参数应以http或https开头。如果查询参数值不是以http或https开头,则只需拒绝该请求。
我检查了很多情况,但似乎对我不起作用。
我尝试了以下
acl url_param1 urlp_reg(logout) ^(http|https)://.*$
http-request deny if url_param1
上面的命令将阻止所有URL,即使该URL中没有注销键。
如果URL中没有注销参数,我需要允许。我只想仅在注销参数值不是以http / https开头的情况下大容。
建议我这样做的条件。
答案 0 :(得分:1)
您对此行为的描述没有任何意义-按照书面说明,应否认该参数是否存在并且确实以http(s)开头。
正确的逻辑是这样:
http-request deny if { url_param(logout) -m found } !{ urlp_reg(logout) ^(http|https)://.*$ }
如果参数存在并且参数不以http(s)://开头,则拒绝请求。