質問

Tomcatで実行されているwebappにリクエストを転送するようにmod_jkを設定しようとしています。 (mod_proxy_ajpが道であるところを読んでいますが、最初にこれを理解したいです)。私はtomcatとmod_jkが初めてです。

アクセスしようとしています- http://www.example.com/test/index .jsp

mod_jkを設定した後、Apacheログに400エラーが表示されます。 Tomcatで直接テストすると、webappは正常に動作しています。 mod_jkログファイルで、A / index.jspをマップしようとしているが、400で失敗していることがわかります。したがって、mod_jkが呼び出されていますが、どういうわけかmodjkはwebappを認識していません。

ご協力ありがとうございます

SuSe Linux 11を使用しており、同じボックスでApacheとTomcatを実行しています。

httpd.confはモノリシックファイルです。その中に以下を追加しました-

<IfModule jk_module>
Alias /test/ "/srv/tomcat6/webapps/A"
JkWorkersFile   /usr/local/apache2/conf/workers.properties
JkShmFile       /usr/local/apache2/logs/mod_jk.shm
JkLogFile       /usr/local/apache2/logs/mod_jk.log
JkLogLevel      debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JKMount        /test/ A1
JkMount     /test/* A1
JkOptions       +ForwardSSLCertChain
</IfModule>

workers.propertiesに次のものがあります-

#Define 1 real worker using ajp13
worker.list=A
#Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.ajp13.lbfactor=50
worker.ajp13.cachesize=10
worker.ajp13.cache_timeout=600
worker.ajp13.socket_keepalive=1
worker.ajp13.socket_timeout=300

ありがとう、  -バス

役に立ちましたか?

解決

ワーカーはAと呼ばれますが、JkMountはA1にマッピングされます。このようなエントリが1つ必要です。

JkMount / test / * A

mod_jkとmod_proxy_ajpの両方を使用しました。 mod_jk接続がより永続的であるため、負荷が高い場合はmod_jkのパフォーマンスが向上します。 mod_proxyは実際にセットアップがはるかに簡単です。

EDIT:ワーカー構成も正しくありません。このようなものでなければなりません

#Define 1 real worker using ajp13
worker.list=A
#Set properties for worker1 (ajp13)
worker.A.type=ajp13
worker.A.host=localhost
worker.A.port=8009
worker.A.lbfactor=50
worker.A.cachesize=10
worker.A.cache_timeout=600
worker.A.socket_keepalive=1
worker.A.socket_timeout=300

他のヒント

モジュールをロードしましたか?

 LoadModule jk_module [path to it]

ディレクティブが既にロードされているか、コンパイルされている場合、ディレクティブはtrueになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top