【问题标题】:Haproxy check if only key existsHaproxy 检查是否只有键存在
【发布时间】:2018-09-08 06:47:52
【问题描述】:

我使用 haproxy 作为负载平衡器。我对某些条件有特定条件。

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

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

我尝试了以下方法

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

即使网址中没有注销键,上述命令也会阻止所有网址。

如果 URL 中没有注销参数,我需要允许。我只想在 logout 参数值不以 http/https 开头时才阻止。

建议我这样做的条件。

【问题讨论】:

    标签: haproxy


    【解决方案1】:

    您对此行为方式的描述没有意义——如所写,如果参数存在并且确实以 http(s) 开头,则它应该否认。

    正确的逻辑是这样的:

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2015-12-04
      • 2012-09-08
      • 1970-01-01
      • 2020-08-18
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多