mod_jk проблемы с подключением apache2 и tomcat6
Вопрос
Я пытаюсь настроить mod_jk для пересылки запросов в мое веб-приложение, работающее в Tomcat.(Я читал еще, где можно использовать mod_proxy_ajp, но хочу сначала разобраться в этом).Я новичок в Tomcat и mod_jk.
Я пытаюсь получить доступ... http://www.example.com/test/index.jsp
Я получаю ошибку 400 в журналах Apache после настройки mod_jk.Веб-приложение работает нормально, когда я тестирую его непосредственно в Tomcat.В файле журнала mod_jk я вижу, что он пытается сопоставить A/index.jsp, но не получается с ошибкой 400.Итак, я вижу, что mod_jk вызывается, но почему-то modjk не видит веб-приложение.
Любая помощь очень ценится
Я использую 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
Спасибо - VAS
Решение
Ваш рабочий называется A, но ваш JkMount сопоставляется с A1.У вас должна быть одна такая запись,
JkMount /test/* А
Я использовал и mod_jk, и mod_proxy_ajp.При большой нагрузке mod_jk работает лучше, поскольку соединение mod_jk более устойчиво.mod_proxy действительно гораздо проще настроить.
РЕДАКТИРОВАТЬ:Конфигурация работника также неверна.Это должно быть что-то вроде этого,
#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]
Я полагаю, что директива будет истинной, если она уже загружена или скомпилирована.