【问题标题】:Haproxy Too Many RedirectsHaproxy 重定向过多
【发布时间】:2021-03-20 18:27:25
【问题描述】:

我想将土耳其以外的流量路由到另一个域,我将 acl 写入 haproxy,因此在土耳其它按计划工作,但在土耳其以外的流量重定向但显示的重定向太多。我在这个配置中缺少什么。我的流量来自 Cloudflare

acl acl_tr req.hdr(CF-IPCountry) eq "TR"
acl test_hname hdr(host) -m end lbtest.test.com
acl test_de hdr(host) -m end lbde.test.com
use_backend test_backends if acl_tr test_hname
redirect code 302 prefix https://lbde.test.com unless acl_tr
use_backend test_backends if test_de

【问题讨论】:

    标签: redirect haproxy haproxy-ingress


    【解决方案1】:

    如果土耳其以外的人访问您的网站,他们可能会根据您的重定向规则被重定向一次到 https://lbde.test.com。假设这个主机名指向同一个 HAProxy 实例,它将再次遇到相同的重定向规则,导致发送相同的重定向。

    要解决此问题,如果用户已经在请求 lbde.test.com 主机,您可能希望利用 test_de ACL 不执行重定向:

    redirect code 302 prefix https://lbde.test.com unless acl_tr || test_de
    

    最后,请确保您了解 HAProxy 中规则评估的顺序。尽管您在第一个 use_backend 规则之后编写了 redirect 规则,但仍将在任何 use_backend 规则之前对其进行评估。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 2015-10-27
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 2017-02-13
      相关资源
      最近更新 更多