apache2: Конфигурация VirtualHost для приложения и репозитория

apache2: Конфигурация VirtualHost для приложения и репозитория

Я использую apache2 2.2 на CentOs 2.6.

Мне нужно настроить apache2, чтобы разрешить мне использовать мое приложение wildfly и репозиторий исходного кода. Для моего приложения я использую адрес: domain.com, и он перенаправит меня на мое приложение: localhost:8080/app1. Используя ссылку domain.com/repos/app1, я хочу иметь возможность использовать мой репозиторий исходного кода (localhost/repos/app1). Обе ссылки используют порт 80.

При следующей настройке я могу использовать свое приложение, но не могу получить доступ к своему репозиторию, поскольку запрос к нему перенаправляется в мое wildfly app1 и, конечно же, там отображается страница «такой страницы нет».

<VirtualHost *:80>
   ServerName domain.com
   ServerAlias www.domain.com domain.com

   ProxyRequests Off
   ProxyPreserveHost On

   ProxyPass / http://localhost:8080/app1/
   ProxyPassReverse /  http://localhost:8080/app1/

   RewriteEngine   On
   RewriteCond     %{THE_REQUEST}  /app1/
   RewriteRule     ^/app1/(.*)$ /$1 [PT]

</VirtualHost>

Как решить эту проблему?

решение1

Если я правильно понял, вы хотите получить доступ как к локальной папке, так и к приложению, запущенному на сервере приложений, с 2 URL-адресов. Если вы используете ProxyPass /, то при попытке доступа к domain.com/repos он будет проксирован в ваше приложение wildfly. domain.com/repos -> (wildfly)http://localhost:8080/app1/repos

Вам следует использовать domain.com/app1 для доступа к приложению, а затем domain.com/repos для доступа к репозиторию. Тогда вам не нужен URL

ProxyPass /app1 http://localhost:8080/app1/
ProxyPassReverse /app1  http://localhost:8080/app1/

Связанный контент