mod_jk problemas com apache2 conectar e tomcat6
Pergunta
Eu estou tentando mod_jk configure para encaminhar solicitações para o meu webapp em execução no tomcat. (I ler mais onde que mod_proxy_ajp é o caminho a percorrer, mas quer se isso descobri primeiro). Eu sou novo para tomcat e mod_jk.
Eu tento acesso - http://www.example.com/test/index .jsp
Eu recebo um erro 400 em meus apache logs depois que eu configurado mod_jk. O webapp está funcionando bem quando eu testá-lo diretamente no tomcat. No arquivo de log mod_jk vejo que ele está tentando mapear o A / index.jsp mas sua falha com um 400. Então eu vejo que o mod_jk está sendo chamado, mas de alguma forma modjk não está vendo o webapp.
Qualquer ajuda é muito apreciada
Estou em um SUSE Linux 11 e estou executando apache e tomcat na mesma caixa.
O meu httpd.conf é um arquivo monolítico. Nele eu adicionei o seguinte -
<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>
Eu tenho o seguinte nos 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
Obrigado, - Vas
Solução
Seu trabalho é chamado de A, mas o seu JkMount mapeia para A1. Você deve ter um registro como este,
JkMount / test / * A
I usado tanto mod_jk e mod_proxy_ajp. Sob carga pesada, executa mod_jk melhor porque a conexão mod_jk é mais persistente. mod_proxy é realmente muito mais fácil de configurar.
EDIT: A configuração do trabalhador não é correto também. Deve ser algo como isto,
#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
Outras dicas
Você quis carregar o módulo?
LoadModule jk_module [path to it]
A directiva será verdade se ele estiver carregado ou compilado em que eu acredito.