3

次のようなhaproxy構成があります:

frontend api
    mode http
    default_backend tomcat

backend tomcat
    mode http
    balance roundrobin
    option httpchk HEAD / HTTP/1.0
    server tomcat1 10.0.0.1:1234 weight 1 maxconn 512 check
    server tomcat2 10.0.0.2:1234 weight 1 maxconn 512 check

これは機能しますが、URL は次のようにする必要があります/api/get-somethingで同じ結果が得られます。

URLプレフィックスを追加しようとしました:

    server tomcat1 10.0.0.1:1234/project/ weight 1 maxconn 512 check
    server tomcat2 10.0.0.2:1234/project/ weight 1 maxconn 512 check

ただし、サポートされていません。haproxy のみを使用してこれを行う方法はありますか? Tomcat をプロキシするためだけに Apache をセットアップしたくありません。

4

1 に答える 1

6

私の理解では、あなたはに書き直したいと思い/api/ます/project/

はいの場合は、以下の行をバックエンド構成に追加します。

reqrep ^([^\ :]*)\ /api/(.*)     \1\ /project/\2

セッション内のすべてのリクエストに書き換えルールを適用するには、フロントエンドとサーバーの両方でオプションhttp-server-closeを有効にする必要があることに注意してください。

于 2012-08-22T12:53:11.730 に答える