web-dev-qa-db-ja.com

HAProxyでURLをリダイレクトする方法

Www.foo.comとfoo.comをhaproxyのwww.bar.comにリダイレクトする必要があります。これは私の構成です。

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

redirect prefixで試しましたが、うまくいきません。

11
hellb0y77

ホスト名の順序を変更します。

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 }

の代わりに

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 }
19
hellb0y77