2015-09-10 49 views
0

我有2个IP地址。它基本上用于SSL,但假设我希望example1.com和example3.com工作在IP 1.1.1.1,example2.com工作在IP 2.2.2.2。Apache上的基于名称的虚拟主机,带有2个IP地址

我应该错过某个地方。我在配置文件中基本上遵循了与此相关的设置 - 我在Apache文档以及许多其他资源中阅读和应用了相同的内容。

Listen 80 

<VirtualHost *:80> 
     ServerName example1.com 
     # ... 
</VirtualHost> 

<VirtualHost *:80> 
     ServerName example3.com 
     # ... 
</VirtualHost> 

<VirtualHost 2.2.2.2:80> 
     ServerName example2.com 
     # ... 
</VirtualHost> 

我有example2.com指向2.2.2.2和其他到DNS记录1.1.1.1。

我可以成功进入example1.com和example3.com,但example2.com进入默认服务器,这是本示例的example1.com,因为它是在配置中首先输入的。

另一个奇怪的问题是:为example2.com保持DNS相同,但将vhost配置更改为*:80,并打开网站和服务器ip被报告为1.1.1.1,因为我可以从Web脚本中获取以查看发生了什么。

而另一个:即使我只在配置中保留example2.com域并删除其他域,它仍然不能与IP协同工作。正如我试图提到的那样,如果我输入2.2.2.2,它将通过此​​IP成功访问服务器。

有人可以帮助我解决这个问题,这显然是由我做错了或缺少的东西造成的。

谢谢。

回答

0

我在服务器中启用了DHCP。我改变它是静态网络,它都工作。

我编辑了/ etc/sysconfig/network-scripts/ifcfg-eth0以根据需要为我的服务器添加静态IP并禁用“自动配置网络”选项。这是一个Linode服务器,需要在这里解释设置 - 以防万一别人需要:https://www.linode.com/docs/networking/linux-static-ip-configuration