2012-04-30 23 views
1

私は、を公開しています。mod_jkを使用したApacheとTomcat間のURLのマッピング

これは私のjk.confです:

JkWorkersFile /etc/libapache2-mod-jk/workers.properties 
JkMount  /portal/* worker1 
JkLogLevel debug 
JkMountCopy All 

そして、これが私のworkers.properties次のとおりです。

ps=/ 

# Define 1 real worker named worker1 
worker.list=worker1 

# Set properties for worker named worker1 to use ajp13 protocol, 
# and run on port 8009 
worker.worker1.type=ajp13 
worker.worker1.host=localhost 
worker.worker1.port=8009 
worker.worker1.lbfactor=1 
worker.worker1.socket_keepalive=1 
worker.worker1.socket_timeout=300 

問題は、私はapacheのを経由してTomcatをアクセスしようとするたびにということです:http://my.host.com/portal、Tomcatがで応答:

13:39:30,683 INFO [PortalImpl:3829] Current URL /portal/ generates exception: null 

別のm労働者のためのountpoint:

JkMount  /portal/* worker1 

しかし、これはここに私のTomcatインスタンスにアクセスするために私を強制的に:http://my.host.comを、私はしたくないいます。

mod-jkを使用してURLを書き換える方法はありますか?

答えて

2

あなただけの代わりにmod_ajpのmod_proxyを使用する場合は、すべてその設定をスキップすることができます...

ProxyPass /foo http://localhost:8080/bar 
ProxyPassReverse /foo http://localhost:8080/bar 

場合、これが機能するポート8080

+0

上で実行されているローカルサーバのURL /バーにこの意志プロキシ/ fooの私は 'ProxyPass/http:// localhost:8080'と' ProxyPassReverse/http:// localhost:8080'を実行します。私はhttp://my.host.comのウェブサイトにアクセスすることができます。しかし、 'ProxyPass/portal http:// localhost:8080'と' ProxyPassReverse/portal http:// localhost:8080'を試してhttp://my.host.com/portalにアクセスすると、コンテンツの一部だけが表示されます。接頭辞 'portal'がないため、部品が見つかりません。問題は、Tomcatが動的コンテンツにプレフィックスを追加しないということです。しかし実際には、これはTomcatのために完全に透明にするために、Apacheの責任であるべきです。何かヒント? – dangonfast

関連する問題