2016-04-28 6 views
2

残念ながら、いくつかのHAproxyルールに苦労しています。* .domain1.com/*を* .domain2.com/*にリダイレクトするためにhaproxyを使用する

私はdomain1.comとdomain2.comを持っているとしましょう。サブドメインとパラメータを含め、domain1.comからdomain2.comにすべてリダイレクトしたい

例:

  • foo.domain1.com => foo.domain2.com
  • foo.domain1.com/?bar =>
  • foo.domain2.com/?bar DOMAIN1。 COM /?バー=> domain2.com/?bar
  • など

私はreqrep ^([^\ ]*\) (.*)domain1.com(.*) 1/ domain2.com\2で試してみたが、それはトリックを行いません。

アイデア?

答えて

-1

あなたfrontendブロックでこれを入れて:

redirect prefix http://domain2.com code 301 if { hdr(host) -i domain1.com }。このよう

同じ答えは:https://stackoverflow.com/a/19826989/255523

+0

これは、ケースの1つ(domain1.com/?bar-> domain2.com/?bar)のみを処理します。 –

0

ここでそれを達成するための一つの方法です。

acl domain_redirect hdr_end(host) -i domain1.com 
http-request set-var(req.new_host) req.hdr(host),regsub(domain1\.com$,domain2.com,i) if domain_redirect 
http-request redirect prefix https://%[var(req.new_host)] code 301 if { var(req.new_host) -m found } 

この解決策には欠点が1つしかないと思われます。URLからアンカーを破棄するようです。例:

domain1.com?foo=bar#ze-anchor -> domain2.com?foo=bar 
関連する問題