将Apache配置为多个域的反向代理

时间:2013-07-26 07:12:16

标签: apache tomcat

我想将Apache配置为多个域的反向代理。

我正在进行以下网络配置:

  • 连接到互联网的路由器,它将端口80上的所有传入流量转发到安装了apache的本地计算机(假设是ip 10.0.0.1)

  • apache服务器现在配置为处理域(比如domainA.com)并从同一台计算机上提供页面

  • 我想在局域网(10.0.0.2)中运行另一台运行Tomcat的计算机(也在端口80上,而不是正常的8080)。可以使用domainB.com访问此计算机。

我见过有关如何配置多个域或如何配置反向代理的教程,但我还没有看到它们的组合。

Request using domainA.com ─┬─> Router ───> Apache ─┬─> Serve domainA.com requests from the same computer (10.0.0.1)
                           │            (10.0.0.1) │
Request using domainB.com ─┘                       └─> Serve domainB.com requests from another computer in the LAN (10.0.0.2)

1 个答案:

答案 0 :(得分:1)

这是我最后使用的(相关位)

Listen 80

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName domainA.com
    DocumentRoot "<path to the local document root>"
</VirtualHost>

<VirtualHost *:80>
    ServerName domainB.com

    ProxyPreserveHost On
    ProxyPass / http://10.0.0.2:80/
    ProxyPassReverse / http://10.0.0.2:80/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>