problemas mod_jk con la conexión de apache2 y tomcat6
Pregunta
Estoy intentando configurar mod_jk para reenviar solicitudes a mi aplicación web que se ejecuta en tomcat. (Leí otra cosa donde ese mod_proxy_ajp es el camino a seguir, pero quiero averiguarlo primero). Soy nuevo en tomcat y mod_jk.
Intento acceder - http://www.example.com/test/index .jsp
Recibo un error 400 en mis registros de Apache después de configurar mod_jk. La aplicación web funciona bien cuando la pruebo directamente en Tomcat. En el archivo de registro mod_jk veo que está tratando de mapear el A / index.jsp pero falla con un 400. Entonces veo que mod_jk está siendo invocado pero de alguna manera modjk no está viendo la aplicación web.
Cualquier ayuda es muy apreciada
Estoy en un SuSe Linux 11 y ejecuto apache y tomcat en la misma caja.
Mi httpd.conf es un archivo monolítico. En él agregué lo siguiente:
<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>
Tengo lo siguiente en los trabajadores.propiedades -
#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
Gracias - Vas
Solución
Su trabajador se llama A pero su JkMount se asigna a A1. Deberías tener una entrada como esta,
JkMount / test / * A
Usé tanto mod_jk como mod_proxy_ajp. Bajo carga pesada, mod_jk funciona mejor porque la conexión mod_jk es más persistente. mod_proxy es de hecho mucho más fácil de configurar.
EDITAR: la configuración del trabajador tampoco es correcta. Debería ser algo como esto,
#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
Otros consejos
¿Cargó el módulo?
LoadModule jk_module [path to it]
La directiva será verdadera si ya está cargada o compilada, creo.