私はxyz.comのような1つのドメインを所有しており、haproxyを使用して他のIPのサブドメインをリダイレクトしようとしています。
私はサーバーでTomcatを使用し、haproxyを使用してポート80の着信要求をポート8080にリダイレクトします。
Like;
www.xyz.com -> 10.0.0.1
www.xyz.com/abc -> 10.0.0.2
or abc.xyz.com -> 10.0.0.2
このリダイレクトを行うには、どのようにhaproxyを設定しますか?
Haproxyでは、acl
ルールとredirect
ルールを組み合わせてリダイレクトを行います。 backend
ルールを使用して適切なサーバーを選択します。
公式の haproxyのドキュメント は読みにくいですが、非常に完全です。
このようなもの(あなたにアイデアを与えるための単なるスケッチ):
frontend http-in
mode http
bind FRONTENDIP:80 # eg. 100.100.100.100:80
default_backend Tomcat_server_2
acl Tomcat_1 hdr_end(Host) -i www.xyz.com
acl Tomcat_2 hdr_end(Host) -i abc.xyz.com
acl Tomcat_path path_beg /abc/
use_backend Tomcat_server_1 if Tomcat_1 !Tomcat_path
backend Tomcat_server_1
server Tomcat1 10.0.0.1:8080 maxconn 1000
backend Tomcat_server_2
server Tomcat2 10.0.0.2:8080 maxconn 1000
リダイレクトしたい場合www.xyz.com/abc/
からabc.xyz.com
:
redirect prefix http://abc.xyz.com if Tomcat_path