Настройка Apache и Tomcat
В системе установлены Tomcat6 и Apache2. Требуется настроить Apache таким образом,
чтобы одни запросы он обрабатывал самостоятельно, а другие направлял на обработку в Tomcat.
Включаем в Томкате AJP-коннектор
Нужно раскомментировать или добавить строку конфигурации в файле /etc/tomcat6/server.xml:
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Подключаем модули proxy и proxy_ajp
Нужно создать символьные ссылки в каталоге /etc/apache2/mods-enabled:
proxy.conf -> ../mods-available/proxy.conf
proxy.load -> ../mods-available/proxy.load
proxy_ajp.load -> ../mods-available/proxy_ajp.load
Далее нужно разрешить использование прокси в /etc/apache2/mods-enabled/proxy.conf:
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
Связывает Apache и Tomcat
Теперь нужно настроить пробрасывание запросов из Apache в Tomcat для требуемых путей в файле /etc/apache2/conf.d/tomcat6.conf:
ProxyPass /servlets/ ajp://localhost:8009/examples/servlets/
ProxyPassReverse /servlets/ ajp://localhost:8009/examples/servlets/
ProxyPass /jsp/ ajp://localhost:8009/examples/jsp/
ProxyPassReverse /jsp/ ajp://localhost:8009/examples/jsp/
Первый параметр директивы ProxyPass указывает, какой с какого пути должен начинаться URL запроса для Apache (/servlets/, /jsp/). Второй параметр указывает, на какой URL в Tomcat должен направляться такой запрос.
Например, для данной конфигурации запрос c URL http://domain/servlets/abc будет направлен в Tomcat как ajp://localhost:8009/examples/servlets/abc, что эквивалентно запросу напрямую к Tomcat по URL http://domain:8080/examples/servlets/abc.
Рецепты и советы, Apache, Tomcat, Debian