用apache搭建的WEB服务器,如何让大家只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有两个方法可以实现,都是修改httpd.conf文件来实现的,如果是虚拟主机的话,则是修改httpd_vhosts.conf来实现(仅限于我知道的,当然肯定还会有其他方法可以实现),下面举例说明。
[@more@]用apache搭建的WEB服务器,如何让大家只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,有两个方法可以实现,都是修改httpd.conf文件来实现的,如果是虚拟主机的话,则是修改httpd_vhosts.conf来实现(仅限于我知道的,当然肯定还会有其他方法可以实现),下面举例说明。
方法一:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 61.*.*.*
ServerName 61.*.*.*
Order Allow,Deny
Deny from all
DocumentRoot "/usr/local/apache/htdocs/web1"
ServerName www.***.com
说明:蓝色部分是实现拒绝直接通过61.*.*.*这个IP的任何访问请求,这时如果你用61.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.***.com这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是/usr/local/apache3/htdocs/web1)
方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 61.*.*.*
DocumentRoot "/usr/local/apache3/htdocs/error"
ServerName 61.*.*.*
DocumentRoot "/usr/local/apache/htdocs/web1"
ServerName www.***.com
说明:蓝色部分是把通过61.*.*.*这个IP直接访问的请求指向/usr/local/apache3/htdocs/error目录下,这是个提示目录,提醒使用域名访问,IP不可以访问。红色部分的意思跟方法一是一样的。
注:修改后要重启apache
如果使用虚拟主机的话,apache虚拟主机默认情况下ip地址方式访问(http://xxx.xxx.xxx.xxx) 对应第一个虚拟主机,所以我们可以先建一个指向错误页面的虚拟主机,达到禁止用ip访问网页的目的。也就是说用 IP 访问到的是第一个虚拟主机,所以只要不是第一个虚拟主机,用 IP 就访问不到。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22383252/viewspace-1028400/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22383252/viewspace-1028400/