Как да конфигурирате поддомейни на Apache, така че да сочат друго уеб приложение или директория; с tomcat на задната част

Използвам AWS. Получих AMI, който имаше apache, tomcat, mysql стек. Apache беше свързан добре с tomcat с помощта на ajp. Как да конфигурирам поддомейни като images.xyz.com (който трябва да сочи към директория на Ubuntu сървър), test.xyz.com (който трябва да сочи към друго webapp, работещо на tomcat) на apache?


person Deepak Singhal    schedule 22.06.2012    source източник


Отговори (1)


Наистина имах трудно време да разбера това и най-накрая трябваше да потърся помощта на моя приятел.

Променете файла $APACHE/sites-available/default

<VirtualHost *:80>
   ServerName test.xyz.com
   ProxyPass / ajp://localhost:8009/test
   ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>

<VirtualHost *:80>
   ServerName images.xyz.com
   DocumentRoot /usr/share/uploads
   <Directory "/usr/share/uploads">
        Options Includes FollowSymLinks MultiViews
        AllowOverride None
         Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>
person Deepak Singhal    schedule 22.06.2012
comment
Имайте предвид, че в примера на @Deepak, използването на контекстния път /test може или не може да бъде желателно. Ако искате вашите URL адреси да изглеждат като http://test.xyz.com/something.jsp, отколкото е по-добре да внедрите вашето уеб приложение Tomcat като ROOT.war, така че да има контекстен път от (т.е. празен низ, достъпен на /). Ако искате контекстен път от /test/, тогава трябва да ProxyPass /test ajp://localhost:8009/test, за да избегнете болката от необходимостта да пренаписвате URL адреси, генерирани от вашето уеб приложение, което не знае за манипулирането на URL адресите на обратния прокси. - person Christopher Schultz; 22.06.2012
comment
Идеята беше основният ми уебсайт да бъде на xyz.com (това ще бъде внедрено като ROOT.war); докато тества уебсайтът ще бъде text.xyz.com (мога да разположа моя тестов военен файл като test.war). Ако не бих създал този поддомейн по-горе; тогава за тестване на уебсайта винаги ще трябва да използвам xyz.com/test и в крайна сметка ще пренапиша много URL и т.н. test.xyz.com ми дава същия contextPath като за root.war - person Deepak Singhal; 23.06.2012
comment
FWIW, най-добре е да напишете вашето уеб приложение по такъв начин, че да може да бъде преместено по този начин. Основното ни уеб приложение се внедрява в редица различни контекстни пътища и работи независимо как се наричат: не е необходима допълнителна конфигурация (за нас), за да работи това. - person Christopher Schultz; 25.06.2012