在具有域通配符的同一台服务器上进行分段和生产

我有一个虚拟主机configuration为在Apache和Passenger上以这种方式运行Ruby on Rails应用程序:

<VirtualHost *:80> ServerAdmin [email protected] ServerName staging.domain.co ServerAlias *.doamin.co DocumentRoot /home/ubuntu/staging/current/public 

所以staging.domain.co,site1.domain.co,site2.domain.co正在工作中查找,这是为分段环境。 现在我需要在同一台服务器上添加生产环境。 我想添加生产环境,但我不知道如何去做。 VPS正在EC2上运行。 即使使用两台不同的服务器,也存在DNS服务器将所有子域parsing为当前VPS IP的问题。 我认为唯一的解决scheme是使用不同的二级域名:

 staging anotherdomain.co production domain.co 

你怎么看?

如果您在apache中使用基于名称的虚拟主机,则DNS与此无关; 一百万个主机名可能会在您的IP上结束,而apache仍然能够服务一百万个不同的网站。

这就是说,你的设置的问题是线

 ServerAlias *.domain.com 

您想删除它,并将其replace为用于暂存和/或生产的实际子域。

另外请注意,首先列出的虚拟主机是apache中默认的虚拟主机。