2017-08-26 24 views
0

最近、ApacheとTomcatの両方を併用する必要がありました。これは、リクエストをポート80にlocalhost:8080に転送するリバースプロキシとして使用する必要がありました。ApacheとTomcatプロキシ

<VirtualHost *:*> 
     ProxyPass  /http://localhost:8080/app/ 
</VirtualHost> 

これは完璧に機能します。

ここで私がする必要があるのは、Tomcatが別のポート8082でリッスンしてサービスしていることです。www.mydomain.com:8082を使用してアクセスできる必要があります。私は試しました:

<VirtualHost *:8082> 
     ProxyPass  /http://localhost:8082/app/ 
</VirtualHost> 

運がありません。そして、私はTomcatがそうしているので、8082で聞くことができません。

答えて

2

/のURLスペースを2つの異なる場所にマップしようとすると失敗しました。それは決してうまくいかない。

Tomcatにプロキシするとき、それは(URLパスを書き換えることなど/良いアイデアことはない - Tomcatが混乱し、すべての種類を取得する予定ですので、>/app/それは個々のアプリケーションをマッピングするためにはるかに良いです:

<VirtualHost *:*> 
    ProxyPass /app1/ http://localhost:8080/app1/ 
    ProxyPass /app2/ http://localhost:8080/app2/ 
    ProxyPass /app3/ http://localhost:8082/app3/ 
    ProxyPass /app4/ http://localhost:8082/app4/ 
    # If you need a fall-back application for `/`, just map it last. 
    ProxyPass/http://localhost:8080/ 
</VirtualHost> 

。上の最後の行は、/ 'にマウントされている/というコンテキスト(TomcatのROOTにマウントされています)です。これは他の方法では実行しないでください。 way。

関連する問題