2008-10-23 2 views
0

У меня есть экземпляр tomcat с несколькими приложениями, запущенными на нем ... Я хочу, чтобы корень моего нового домена перешел в одно из этих приложений (контекстный путь к блаху) .. поэтому у меня есть следующая настройка:Как подключить мое приложение tomcat к apache 2, чтобы пути не были хромыми?

<Location /> 
    ProxyPass ajp://localhost:8025/blah 
    ProxyPassReverse ajp://localhost:8025/blah 
</Location> 

это своего рода работает ... собирается mydomain.com/index.jsp работ, за исключением приложения по-прежнему считает, что необходимо добавить/бЛА/ко всему, как CSS и JS .. есть что-то я могу обойтись без развертывание приложения в ROOT или изменение конфигурации сервера tomcat? Я бы хотел сохранить все это на стороне апача, если это возможно.

Я думаю, я не могу быть понять директиву ProxyPassReverse ..

ответ

2

Если вы хотите подключить к серверу приложение /, Tomcat ожидает, что приложение будет установлено в /, и будет иметь имя ROOT. По крайней мере, так я всегда справлялся с ситуацией лично. Даже если вы просто привязываете приложение к ROOT, это должно смягчить ваши проблемы. Если у вас есть приложение, помещенное в $ {tomcat_home}/webapps/newapp, Tomcat развертывает его с помощью контекста/newapp. По крайней мере, так было в моей истории. Кроме того, не уверен, если это имеет значение, но я всегда использовал:

ProxyPass/ajp://localhost:8025/blah 
ProxyPassReverse/ajp://localhost:8025/blah 
0

это выглядит, как это своего рода pain in the rear.

апач буквально переписывание страниц, поскольку это служит им ...

Я думаю, что я пойду по другому пути.

+0

Похоже, что подход «боль сзади» необходим только в том случае, если ваш контекст контекста приложения tomcat не соответствует пути, к которому он привязывает Apache httpd, похоже, что методы ROOT.war/ не являются так плохо в сравнении. – 2010-11-28 12:46:07

0

При настройке узлов на стороне Tomcat, а затем вы можете прокси к ним и устранить путь контекста для некорневых WebApps - в Tomcat server.xml:

<Host name="myhost"> 
    <Context path="" docBase="/path/to/files" /> 
</Host> 

И на стороне Apache:

<VirtualHost *:80> 
    ServerName myhost 
    ProxyPass/ajp://myhost:8009/ 
    ProxyPassReverse/ajp://myhost:8009/ 
</VirtualHost> 

Надежда, что помогает.

Смежные вопросы