2009-11-29 11 views
0

J'essaye de configurer mod_jk pour transférer des demandes à ma webapp s'exécutant dans tomcat. (J'ai lu autre chose où mod_proxy_ajp est le chemin à parcourir, mais je veux d'abord comprendre cela). Je suis nouveau sur tomcat et mod_jk.mod_jk problèmes avec la connexion apache2 et tomcat6

je tente d'accéder - http://www.example.com/test/index.jsp

je reçois une erreur 400 dans mes journaux apache après avoir configuré mod_jk. La webapp fonctionne correctement lorsque je la teste directement dans Tomcat. Dans le fichier journal mod_jk, je vois qu'il essaye de mapper le A/index.jsp mais son échec avec un 400. Donc je vois que le mod_jk est invoqué mais de toute façon modjk ne voit pas la webapp.

Toute aide est grandement appréciée

Je suis sur un SuSe Linux 11 et je suis en cours d'exécution apache et tomcat sur la même case.

Mon httpd.conf est un fichier monolithique. J'y ajouté ce qui suit -

<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> 

je suit dans les 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 

Merci, - Vas

Répondre

0

Votre opérateur s'appelle A mais votre JkMount correspond à A1. Vous devez avoir une entrée comme celui-ci,

JkMount/test/* Un

J'utilisé à la fois mod_jk et mod_proxy_ajp. Sous une charge importante, mod_jk fonctionne mieux car la connexion mod_jk est plus persistante. mod_proxy est en effet beaucoup plus facile à configurer.

EDIT: La configuration du worker n'est pas correcte non plus. Il devrait être quelque chose comme ceci,

#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 
+0

Salut, C'était une erreur dans la publication. Merci d'avoir regardé cela mais en le changeant en A ne fonctionne pas non plus. Alors dites-vous que cela semble correct autrement? -Vas – user220201

+0

La propriété worker.properties est également erronée. Voir ma réponse éditée. –

+0

Merci beaucoup! Je ne pensais pas directement hier. J'ai passé beaucoup de temps à configurer apache, tomcat et mod_jk. Content que ce soit une erreur de copier coller. \ n Merci aussi pour la clarification mod_jk vs mod_proxy. D'après ce que j'ai lu moi aussi je pensais que mod_jk était meilleur mais était confus après avoir lu des articles que mod_jk est mort. Va s'en tenir à mod_jk - Vas – user220201

0

Est-ce que vous chargez le module?

LoadModule jk_module [path to it] 

La directive sera vraie si elle est déjà chargée ou compilée dans je crois.

+0

Oui. J'ai la directive pour charger le module - LoadModule jk_module modules/mod_jk.so – user220201