Обновить Благодаря ответам Билла и crb, я считаю, что у меня это работает.
xxx@host:/etc/apache2/sites-available$ apache2ctl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server default (/etc/apache2/sites-enabled/000-default:4)
port 80 namevhost default (/etc/apache2/sites-enabled/000-default:4)
port 80 namevhost www.123acme.com (/etc/apache2/sites-enabled/www.123acme.com:4)
Syntax OK
Сейчас www.123acme.com разрешит правильный VirtualHost, обслуживаемый Apache, из / var / www, а все остальное проксируется на Jetty.
У меня есть экземпляр Apache2 на порту 80 и сервер приложений Jetty, работающий на 8080. Я хотел бы, чтобы экземпляр Apache обслуживал VirtualHost, скажем, www.acme.com, и отправлял весь остальной трафик экземпляру Jetty.
Пока у меня есть сайты / пристань, которые содержат
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/
ProxyPreserveHost On
ProxyStatus On
с целью сначала передать все через прокси на Jetty. Кажется, пока это работает нормально.
Итак, с этого момента, как я могу настроить различные VirtualHosts который не получить прокси?
Повторюсь:
-Тип www.acme.com следует перейти к традиционному VirtualHost сидя в / var / www и обслуживается Apache2 из конфигурации в сайты с поддержкой / acme.com
-Тип что-нибудь else должен быть перенаправлен на экземпляр Jetty, работающий на 8080
Если у вас нет соответствия определению VirtualHost (на основе ServerName / ServerAlias), Apache будет обслуживать ваш запрос с первым VirtualHost. (Видеть документы).
Настройте виртуальный хост с таким именем, как 000-first, и поместите в него конфигурацию ProxyPass. Они включены в порядок сортировки каталога.
Первый виртуальный хост в файле (или тот, который включен) является значением по умолчанию, и это то место, куда он попадет. Таким образом, просто сделайте первый виртуальный хост прокси, а затем второй www.acme.com
.
Я бы сделал это, создав два VirtualNost.
Первый VirtualHost, используемый по умолчанию, будет содержать настройки ProxyPass. Судя по именам файлов, похоже, что вы используете Debian или Ubuntu? В этом случае мы говорим о / etc / apache2 / sites-enabled / 000-default (также известный как / etc / apache2 / sites-available / default).
Затем второй VirtualHost определенно укажет www.acme.com в качестве своего ServerName и будет обслуживать содержимое / var / www.