haproxy acl 用于 url 和 url 参数

haproxy acl 用于 url 和 url 参数

我想在 haproxy 1.6 中创建一个 ACL,仅当特定 url 和 url 参数同时出现时才允许它们。例如:

example.com/url/of/page3?foo=bar

我已经在 haproxy 配置的前端部分执行此操作:

acl whitelist path /url/of/page1
acl whitelist path /url/of/page2
acl whitelist path_beg /url/of/page3
block unless whitelist

如何使用url_param结合小路在我的 acl 中?

答案1

  • 不确定你运行的是哪个版本,但请注意:据我所知,该block指令已被弃用。使用此指令,你将获得:

'block' 指令现已弃用,取而代之的是使用完全相同语法的 'http-request denied'。规则已翻译,但未来版本可能会不再支持。

  • 它仍然有效,但将来可能会被删除。

  • 关于你的问题:

    • 只需设置另一个 ACL:

      acl url_param urlp(foo) bar
      

      这将测试第一的,并且只有第一个 url 参数针对名称foo和值bar,并计算为TRUEFALSE

    • 因此,此后,通过以下方式检查结果:

      http-request deny unless whitelist url_param
      

相关内容