【问题标题】:Haproxy redirect www to non-wwwHaproxy 将 www 重定向到非 www
【发布时间】:2012-05-11 05:04:35
【问题描述】:

我目前正在使用 Haproxy 来平衡几个 express.js 节点。我知道可以使用 express.js 进行重定向,但我希望使用 Haproxy 这样做。

我想知道如何进行从 www.mysite.com 到 mysite.com 的永久重定向?

【问题讨论】:

    标签: haproxy


    【解决方案1】:
    redirect prefix http://example.com code 301 if { hdr(host) -i www.example.com }
    

    有关详细信息,请参阅redirect prefix 规则的文档。

    如果您使用的是更新版本的 HAProxy,即至少 1.6,您可以使用更通用的语法来重定向任何主机,而不仅仅是明确命名

    http-request redirect prefix http://%[hdr(host),regsub(^www\.,,i)] code 301 if { hdr_beg(host) -i www. }
    

    在这里,我们使用regsub 过滤器来动态生成不带www. 前缀的正确主机名。

    如果您想以相反的方式执行重定向,即添加www(如果还没有www,则规则会变得更简单:

    http-request redirect prefix http://www.%[hdr(host)] code 301 unless { hdr_beg(host) -i www. }
    

    【讨论】:

    • 你应该在底部的例子中添加code 301以与第一个例子保持一致
    猜你喜欢
    • 2018-06-06
    • 1970-01-01
    • 2019-03-09
    • 2021-08-03
    • 2011-11-05
    • 2011-12-01
    • 2013-12-20
    • 2022-03-04
    相关资源
    最近更新 更多