私は現在、複数の Express.js ノードのバランスを取るために Haproxy を使用しています。Express.js を使用してリダイレクトできることはわかっていますが、Haproxy でリダイレクトしたいと考えていました。
www.mysite.com から mysite.com への永続的なリダイレクトを行うにはどうすればよいでしょうか?
私は現在、複数の Express.js ノードのバランスを取るために Haproxy を使用しています。Express.js を使用してリダイレクトできることはわかっていますが、Haproxy でリダイレクトしたいと考えていました。
www.mysite.com から mysite.com への永続的なリダイレクトを行うにはどうすればよいでしょうか?
redirect prefix http://example.com code 301 if { hdr(host) -i www.example.com }
詳細については、リダイレクト プレフィックスルールのドキュメントを参照してください。
HAProxy の新しいバージョン、つまり 1.6 以降を使用している場合は、明示的に名前を指定するだけでなく、任意のホストをリダイレクトできる、より一般的な構文を使用できます。
http-request redirect prefix http://%[hdr(host),regsub(^www\.,,i)] code 301 if { hdr_beg(host) -i www. }
ここでは、regsubフィルターを使用して、プレフィックスなしで正しいホスト名を動的に生成していwww.
ます。
逆にリダイレクトを実行したい場合、つまり、www
まだ何もない場合にリダイレクトを追加したい場合、ルールはより単純になります:
http-request redirect prefix http://www.%[hdr(host)] code 301 unless { hdr_beg(host) -i www. }