2014-09-01 5 views
0

Так что я пробовал несколько учебных пособий, однако мне что-то не хватает, и я надеюсь, что кто-то может мне помочь.configure tomcat7 и apache2

У меня есть 12,04 сервер убунта работает с tomcat7 и apache2 и я пытаюсь достичь приложения (JSF 2.2), работающее на коте через apache2.

Приложение работает на tomcat работает отлично, если я обращаюсь к нему следующим образом: example.com:8080/demo.

Я пытаюсь получить к нему доступ через apache2 по следующему адресу: demo.example.com

До сих пор главная страница загружается, но навигация в приложении нет.

Если приложение посылает меня к example.com:8080/demo/page2.xhtmlвместо demo.example.com/page2.xhtml Я как-то перенаправлен demo.example. com/demo/page2.xhtml и получить статус HTTP 404.

А теперь вопрос в миллион долларов: что я делаю неправильно?

Вот мой httpd.conf файл:

<VirtualHost demo.mydomain.com:80> 
    ProxyRequests Off 
    ProxyPreserveHost On 

    ProxyPass/ajp://localhost:8009/demo/ 
    ProxyPassReverse/ajp://localhost:8009/demo/ 

    <Proxy *> 
      AddDefaultCharset Off 
      Order deny,allow 
      Allow from all 
    </Proxy> 
</VirtualHost> 

В server.xml из tomcat7 я добавил следующую запись:

<Connector port="8009" URIEncoding="UTF-8" protocol="AJP/1.3" redirectPort="8080"/> 

В libapache2-модулирования jk "workers.properties" У меня следующие данные:

workers.tomcat_home=/var/lib/tomcat7 
workers.java_home=/usr/lib/jvm/java-8-oracle 
ps=/ 
worker.list=ajp13_worker 
worker.ajp13_worker.port=8009 
worker.ajp13_worker.host=localhost 
worker.ajp13_worker.type=ajp13 
worker.ajp13_worker.lbfactor=1 
worker.loadbalancer.type=lb 
worker.loadbalancer.balance_workers=ajp13_worker 

ответ

0

Обновите настройки ProxyPass, как показано ниже.

ProxyPass /demo/ ajp://localhost:8009/demo/ 
ProxyPassReverse /demo/ ajp://localhost:8009/demo/ 

Или

ProxyPass  / ajp://localhost:8009/ 
ProxyPassReverse/ ajp://localhost:8009/ 
+0

Первый не работает -> Я перенаправлены на главную страницу Parallels Plesk Panel, а второй один редирект я к TOMCAT годов default, а не webapp, работающий на «/ demo». – TestTesterTest

0

альтернативы вы можете использовать разъем HTTP (по умолчанию 8080). они должны быть активированы в server.xml.

ProxyPass /demo/ http://localhost:8080/demo/ 
ProxyPassReverse /demo/ http://localhost:8080/demo/ 

если URI/демо под/доставить, а затем выполнить конфигурацию. Для этого, однако, ссылки должны быть по отношению к демке, иначе будут проблемы

ProxyPass/http://localhost:8080/demo/ 
ProxyPassReverse/http://localhost:8080/demo/ 
Смежные вопросы