问题在Apache中设置反向代理

时间:2009-04-05 22:00:58

标签: apache mod-proxy

我的室友和我每个人都有一个单独的网络服务器,我们正在尝试设置。我们正在尝试使用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 个答案:

答案 0 :(得分:16)

您的mods-enabled / proxy.conf可能阻止任何代理请求(默认情况下拒绝所有代理请求)。它应该包括以下内容:

ProxyRequests Off

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

编辑:还要确保mod_proxy子模块是sym链接到mods-enabled(在这种情况下,http子模块是mods-available / proxy_http.load)

答案 1 :(得分:0)

只需输入两条路线:

<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>

这就形成了我的作品