В системе установлены Tomcat6 и Apache2. Требуется настроить Apache таким образом, чтобы одни запросы он обрабатывал самостоятельно, а другие направлял на обработку в Tomcat.
Нужно раскомментировать или добавить строку конфигурации в файле /etc/tomcat6/server.xml:
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Нужно создать символьные ссылки в каталоге /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 для требуемых путей в файле /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.