У нас есть немного сложная установка Apache 2.2 перед экземпляром Tomcat 6.0. Основное веб-приложение Tomcat развернуто в:
/opt/tomcat/webapps/ROOT
Но у нас также есть статический контент, который мы обновляем нерегулярно. Мы не хотели форсировать новую сборку и развертывание веб-приложения, поэтому оно хранится отдельно в таких папках, как:
/opt/tomcat/webapps/css
/opt/tomcat/webapps/foo
/opt/tomcat/webapps/bar
Чтобы справиться с этим из Apache, мы используем mod_rewrite, и правила выглядят примерно так:
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^/css/(.*)$ - [L]
RewriteCond ROOT/%{REQUEST_FILENAME} -f
RewriteRule ^/css/(.*)$ ROOT/$1 [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)\.(jpg|png|html|js)$ - [L]
RewriteCond ROOT/%{REQUEST_FILENAME} -f
RewriteRule ^(.*)\.(jpg|png|html|js)$ - [L]
RewriteRule ^/(.*)$ http://localhost:8080/$1 [P,L]
ProxyPassReverse / http://localhost:8080/
Теперь я думаю, что могу начать использовать mod_jk, и у меня есть два вопроса:
Почему вы думаете об использовании mod_jk?
Если нужно использовать связь ajp, чтобы ускорить передачу на tomcat, почему бы не посмотреть на mod_proxy_ajp?
Вы просто измените правило перезаписи tomcat на: -
RewriteRule ^/(.*)$ ajp://localhost:8080/$1 [P,L]