基于Apache IP的托pipe解决scheme显示apachetesting页面,而不是网站

我试图设置我的虚拟服务器来托pipe基于IP的网站。 目前我只想设置1个网站,只使用1个IP。

/etc/httpd/conf.d/example.com.conf文件内容:

Listen 80 NameVirtualHost xx.xxx.xx.xxx:80 <VirtualHost xx.xxx.xx.xxx:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/sites/example.com/public ErrorLog /var/log/httpd/example.com/error.log CustomLog /var/log/httpd/example.com/access.log combined </VirtualHost> 

我从httpd.conf中删除了“Listen”和“NameVirtualHost”,并只在我的example.com.conf文件中使用它们。

我遇到的问题是,Apache的testing页面踢,而不是网站,但一旦我把IP更改为“*”它的工作原理:

 <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/sites/example.com/public ErrorLog /var/log/httpd/example.com/error.log CustomLog /var/log/httpd/example.com/access.log combined </VirtualHost> 

任何想法为什么会发生?

UPDATE! 我尝试使用的IP地址不是内部networkingIP,而是外部(公共)IP地址。 我有3个公共IP地址指向这个服务器。

谢谢,Alex

由于您有防火墙或其他设备将IP上的数据包从公有IP更改为专用IP,因此您需要在Apache的configuration中使用专用IP给VirtualHost 。 Apache将只能看到私有IP,所以它不知道最初请求的是什么公有IP。

你仍然拥有CentOS在Apache conf目录下的welcome.conf文件吗?

一旦开始定制你的Apacheconfiguration,它就不需要它了,而且它可以作为一个默认的catch-all虚拟主机。