后端服务器上的Apache代理虚拟主机

tdb*_*i22 5 proxy virtualhost apache-2.2

我有 2 个 web Debian 服务器,一个接受来自端口 80 的请求的前端和一个通过前端代理的后端。

我想要做的是将许多不同的 URL 发送到带有虚拟主机的后端服务器。

这是前端 Apache 设置

<VirtualHost *:80>
    ServerName dev.example.com
    ProxyPass / http://192.168.144.100:80/
    ProxyPassReverse / http://192.168.144.100:80/
</VirtualHost>

<VirtualHost *:80>
    ServerName sandbox.example.com
    ProxyPass / http://192.168.144.100:80/
    ProxyPassReverse / http://192.168.144.100:80/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这是后端 Apache 设置

 <VirtualHost *:80>
                ServerAdmin webmaster@localhost

                DocumentRoot /var/www/
                <Directory />
                        Options FollowSymLinks
                        AllowOverride None
                </Directory>
                <Directory /var/www/>
                        Options Indexes FollowSymLinks MultiViews
                        AllowOverride None
                        Order allow,deny
                        allow from all
                </Directory>
    </VirtualHost>
    <VirtualHost *:80>
            ServerAdmin webmaster@localhost

            ServerName dev.example.com

            DocumentRoot /var/www/example.com/dev/
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /var/www/example.com/dev/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
    </VirtualHost>

   <VirtualHost *:80>
            ServerAdmin webmaster@localhost

            ServerName sandbox.example.com

            DocumentRoot /var/www/example.com/sandbox/
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /var/www/example.com/sandbox/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
    </VirtualHost>
Run Code Online (Sandbox Code Playgroud)

当我转到 dev.example.com 或 sandbox.example.com 时,它会将我带到默认的 /var/www 文件。

基本上,我希望能够在后端服务器上运行多个虚拟主机。

谢谢你的帮助。

小智 7

像这样修改你的前端设置怎么样?并且您不需要在后端设置虚拟主机。

<VirtualHost *:80>
    ServerName dev.example.com
    ProxyPass / http://192.168.144.100:80/
    ProxyPassReverse / http://192.168.144.100:80/
</VirtualHost>

<VirtualHost *:80>
    ServerName sandbox.example.com
    ProxyPass / http://192.168.144.100:80/example.com/dev/
    ProxyPassReverse / http://192.168.144.100:80/example.com/dev/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)