Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to redirect URL with HAProxy

Tags:

haproxy

I need redirect www.foo.com and foo.com to www.bar.com in haproxy, this is my configuration:

frontend  http-in
    bind *:80

    acl bar.com hdr(host) -i www.bar.com
    ...
    use_backend     bar.com_cluster if bar.com
    ... 
    redirect prefix http://foo.com code 301 if { hdr(host) -i www.bar.com }
    redirect prefix http://www.foo.com code 301 if { hdr(host) -i www.bar.com }
    ...

backend bar.com_cluster
    balance roundrobin
    option httpclose
    option forwardfor
    server bar 10.0.0.1:80 check

I have tried with redirect prefix but don't work, any idea?

like image 696
hellb0y77 Avatar asked Feb 15 '15 19:02

hellb0y77


1 Answers

Change order of the hostname:

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

instead of

redirect prefix http://foo.com code 301 if { hdr(host) -i www.bar.com }
redirect prefix http://www.foo.com code 301 if { hdr(host) -i www.bar.com }
like image 138
hellb0y77 Avatar answered Oct 21 '22 12:10

hellb0y77