• Москва +7 (495) 664 23 30
  • Санкт-Петербург +7 (812) 309 26 84

Справка

Настройка 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