Apache反向代理到多个虚拟机

我已经全面了解我的问题的解决scheme,找不到它。

build立:

所以我有一台运行带有多个Web服务器的虚拟机的主机。 每个虚拟机(networking服务器)有2个networking适配器; 纳特(与端口转发8080至80和SSH)和主机只适配器。 每台主机只有适配器有它自己的networking适配器(所以每个虚拟机应该有它自己的外部IP)。在主机上使用Apache我有以下文件在站点可用(每个服务器一个):

<VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off ServerName www.domain1.com ServerAlias domain1.com ProxyPass / http://192.168.58.1:8080/ ProxyPassReverse / http://192.168.58.1:8080/ </VirtualHost> 

我们的想法是,主机系统上的apache会根据域名将请求redirect到托pipe该站点的正确的vm(然后让apache在该服务器上执行所需的操作)。

问题:

看来我所有的域名都指向同一个虚拟主机。 所以,不pipe我去哪个域,它都需要我完全相同的页面。 所以我想知道我做错了什么,以及如何使域指向正确的虚拟机? 它是否与服务器上的主机名configuration不正确? 如果是主机名问题,我应该如何设置主机名?

更新:

看来,Apache不是问题。 似乎所有主机只有IP指向同一个虚拟机。 所以我必须错过vms上的主机专用适配器的一些configuration,即使我确信每个虚拟机都有自己的configuration。

解决了:

见下面的答案。

我最终解决了这个问题,只使用一个主机专用适配器,而不是多个适配器,然后为每个VM使用不同的端口。 这样每个虚拟机拥有相同的外部IP只是不同的端口。 我也在每个虚拟机上设置了静态IP,我不完全确定它是否有必要。 我这样做后,我只是更新主机上的每个Apacheconfiguration为新的IP和端口。