Проблемы настройки обратного прокси в Apache - PullRequest
7 голосов
/ 06 апреля 2009

У меня и моего соседа по комнате есть отдельный веб-сервер, который мы пытаемся настроить. Мы пытаемся использовать mod_proxy, чтобы его сервер перенаправлял запросы на мою машину (у нас есть две отдельные машины за одним маршрутизатором) на основе имени сервера. Я привел основы того, что мы имеем в нашей конфигурации apache в настоящее время, но мы получаем ошибку 403 Forbidden при попытке доступа ко второму домену (первый, домен www, работает нормально).

NameVirtualHost *:80

<VirtualHost *:80>
 DocumentRoot /var/www
 ServerName www.<domain1>.com
</VirtualHost>

<VirtualHost *:80>
 ProxyPreserveHost On
 ProxyPass / http://<IP addr of other box>:80
 ProxyPassReverse / http://<IP addr of other box>:80
 ServerName <dummydomain>.gotdns.com
</VirtualHost>

Ответы [ 2 ]

16 голосов
/ 06 апреля 2009

Ваш mods-enabled / proxy.conf может блокировать любые запросы прокси-сервера (по умолчанию он запрещен). Вместо этого он должен включать следующее:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

РЕДАКТИРОВАТЬ: также убедитесь, что подмодули mod_proxy sym связаны с модами (в данном случае это субмодуль http, который доступен по модулю / proxy_http.load)

0 голосов
/ 26 января 2016

Просто поставьте оба маршрута:

<VirtualHost *:80>
    DocumentRoot "/app/"
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName app.yourdomain.com

    ProxyPass /app http://yourIP:yourPort/app/
    ProxyPassReverse /app http://yourIP:yourPort/app/

    ProxyPass / http://yourIP:yourPort/app/
    ProxyPassReverse / http://yourIP:yourPort/app/
</VirtualHost>

<Location "/app/" >
    ProxyPass "http://yourIP:yourPort/app/"
    ProxyPassReverse  "http://yourIP:yourPort/app/"
    ProxyPassReverseCookiePath  "/app/"  "/app/"
    ProxyHTMLEnable Off
    ProxyHTMLExtended On
    ProxyHTMLURLMap "/app/" "/app/"
    Order allow,deny
    Allow from all
</Location>

Это сработало от меня

...