05月 8th, 2008
如何设置不能直接通过 IP 访问 Apache 的虚拟主机
如果你用 Apache 搭建 Web 服务器,那么,默认情况下,直接输入服务器的 IP 地址,或者输入任何一个指向这个 IP 的域名(这个域名没有在 Apache 的配置文件中绑定过),都将访问你设置的第一个虚拟主机。
本来这个设置蛮好,挺方便的,但是今天问题来了。
今天上午,我的一台服务器无法访问了,打电话给机房,说是查到服务器上有 2 个没有备案的域名,服务器被直接屏蔽了,我就奇怪了,我可是遵纪首发的良民啊,怎么会干这种事,于是查询了下,发现这两个域名都是指向我这台的 IP 的,但是我并没有在 Apache 中设置过,于是指向我的第一个虚拟主机。呵呵,我就这样被陷害了。
目前来说,貌似只有一种办法可以应对,就是在第一个虚拟主机前,再建立一个虚拟主机,设置如下:
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/Web/error
ServerName 127.0.0.1
</VirtualHost>
然后在 D:\web\error\下建立一个 index.html,内容无非是“您拨打的电话是空号”等等这样的提示信息。
重启 Apache,现在在地址栏输入服务器的 IP 地址,或者访问那两个陷害我的域名,就能看到这样的提示信息,而不是看到我的网站了。
Tags: Apache, 备案, 虚拟主机
本文网址:http://felixqu.com/2008/05/08/how-do-i-set-up-through-the-ip-can-not-directly-access-the-apache-virtual-console/