HAproxyサブドメインリダイレクト


9

私は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を設定しますか?


4
なぜ3回投票され、コメントがなかったのかわかりません。これは非常に良いstackexchangeエチケットではありません!この悪い歓迎を申し訳ありません。
ステファノ

回答:


10

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

1
例をありがとう!2つ目backend tomcat_server_1backend tomcat_server_2
正しい

-3

Haproxyは、名前をリダイレクトすることも、URIをリダイレクトすることも意図していません。

名前はネームサーバー(DNS)によって指示されます。

URIはWebサーバー(HTTP)(のモジュール)によってリダイレクトされます。

Haproxyは、2つ(またはそれ以上)の同一サーバー間でトラフィック(TCP / IP)のバランスをとることです。


8
haproxyは、プレフィックス(サブドメイン/ドメインなど)とURLの両方を非常にうまくリダイレ​​クトできます。検索redirect locationredirect prefixhaproxy.1wt.eu/download/1.4/doc/configuration.txt
ステファノ

8
あなたは間違っています。Haproxyはロードバランサーであり、リバースプロキシサーバーでもあります。
jmoreira 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.