15

Tomcat 5.5.9 と Apache 2.x を使用しています

Tomcat コンテキスト名とは異なるパス名を ProxyPass で使用しようとしています。

ProxyPass /path http://localhost:8080/contextname

ただし、これは機能しません。これら2つが同じ場合、すべてが正常に機能します。

私がネット上で目にするほとんどの例には、Tomcat コンテキスト名と同じパスも含まれています。

Tomcat コンテキスト内で「context.xml」を使用していますが、「server.xml」エントリはありません。また、プレーンな httd.conf を使用しており、VirtualHost エントリは使用していません。

4

4 に答える 4

12

両方必要だと思います

ProxyPass /path/ http://localhost:8080/contextname/
ProxyPassReverse /path/ http://localhost:8080/contextname/

mod_jkを使用しない理由はありますか?

于 2009-09-08T14:31:26.980 に答える
3

両方の値にスラッシュを追加します。

ProxyPass /path/ http://localhost:8080/contextname/

于 2010-06-23T10:38:16.237 に答える
3
RewriteEngine on
RewriteRule ^/path$ /path/ [R]
RewriteRule ^/path/(.*) /contextname/$1 [P]

ProxyPass /contextname/ protocol://192.168.15.48:8080/contextname/
ProxyPassReverse /contextname/ protocol://192.168.15.48:8080/contextname/

この場合、"protocol"="http" は...

于 2009-09-09T16:58:51.220 に答える
2

あなたの問題はおそらく、アプリケーションが生成する自己参照 URL です。あなたがそれについてできることはあまりありません

  1. アプリを変更したり、
  2. 吐き出すものをすべて書き直します。

オプション 2 は非常に壊れやすい可能性があります。詳細については、Tomcat のドキュメントを参照してください。

于 2010-07-14T14:38:16.073 に答える