Haproxy redirect www to non-www

后端 未结 1 588
梦谈多话
梦谈多话 2021-02-04 03:01

I\'m currently using Haproxy to balance several express.js nodes. I know that it\'s possible to redirect using express.js, but I was hoping to do so with Haproxy.

I was

1条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-02-04 03:26

    redirect prefix http://example.com code 301 if { hdr(host) -i www.example.com }
    

    Please see the documentation of the redirect prefix rule for more information.

    If you are using a newer version of HAProxy, i.e. at least 1.6, you can use a more generic syntax which allows to redirect any host, not just explicitly named

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

    Here, we are using the regsub filter to dynamically generate the correct hostname without the www. prefix.

    In case you want to perform a redirect the other way around, i.e. to add a www if there is none already, the rule becomes simpler:

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

    0 讨论(0)
提交回复
热议问题