2015-10-13 2 views
1

У меня есть несколько веб-серверов, работающих на данной машине (Apache, Tomcat, пользовательские серверы Python). У меня есть Apache, прослушивающий порт 80, как и стандартная настройка. Для того, чтобы получить доступ к одному из моих других серверов через этот порт, я настроить ProxyPass в Apache, как это:Как настроить Apache ProxyPass в подкаталог, который переопределяет родительский ProxyPass?

ProxyPass/http://[mydomainname]:8880/ 
ProxyPassReverse/http://[mydomainname]:8880/ 

Он работает. Когда вы переходите к доменному имени, без спецификации порта (поскольку подразумевается 80), вместо того, чтобы достигнуть корня Apache, вы прозрачно перенаправляетесь в корень другого сервера на машине (витой сервер), прослушивая порт 8880.

Вот и проблема. Кажется, я заблокировал что-нибудь от доступа к моим файлам Apache. Есть ли способ переопределить этот прокси-сервер root для разных подкаталогов? Например, если вы просматриваете mydomain/test, я могу заставить это работать так, как будто у меня не было прокси-сервера вообще, а не маршрутизации на путь на сервере порта 8880?

ответ

3

Я нашел ответ на поток SO: ProxyPass and DocumentRoot on one domain.

ПЕРЕД директивой ProxyPass, просто добавьте исключение ProxyPass и псевдоним каталога. Примечание: повторите попытку для каждого подкаталога Apache.

ProxyPass /MySubDirectory ! 
Alias /MySubDirectory /var/www/html/MySubDirectory 
+0

это спасло меня. –

Смежные вопросы