Субдомен прокси передает все указывающие на один сервер - PullRequest
10 голосов
/ 09 декабря 2011

У меня есть 2 приложения, размещенные на одном Apache Tomcat на порт 8080 >

Я бы хотел запустить прокси-сервер Apache перед ОБА из них со следующим поведением >

Лучшее, что я получил сейчас, - это 2 машины с разными IP-адресами и маршрутизацией домена и поддоменов соответственно.

В идеале я хочу, чтобы прокси-сервер apache и 2 приложения были на той же машине ...

Может ли кто-нибудь с навыками DEVOps надрать задницу помочь?

Ответы [ 2 ]

24 голосов
/ 09 декабря 2011

В дополнение к ответу @Jon Lin рассмотрите возможность использования ProxyPassReverse также на случай, если ваше приложение выполнит какие-либо перенаправления. Это делает Apache правильными URL-адресами ответов (Подробнее о ProxyPassReverse ). Это будет выглядеть так:

<VirtualHost subdomain.mydomain.com:80>
    ProxyPass / http://localhost:8080/application1/
    ProxyPassReverse / http://localhost:8080/application1/
</VirtualHost>

<VirtualHost mydomain.com:80>
    ProxyPass / http://localhost:8080/application1/
    ProxyPassReverse / http://localhost:8080/application1/
</VirtualHost>

Надеюсь, это поможет.

1 голос
/ 09 декабря 2011

В конфигурации виртуального хоста для mydomain.com (apache) вам необходимо

ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application1/$1

В конфигурации виртуального хоста для subdomain.mydomain.com (apache) вы должны

ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application2/$1

Оба файла конфигурации должны находиться на одном компьютере и даже в одном и том же файле. См. Примеры VirtualHost для некоторых примеров того, как это настроить.

...