用apache搭建的WEB服务器,如何让网友只能通过设定的域名访问,而不能直接通过服务器的IP地址访问呢,通过查找,有两个方法可以实现,都是修改httpd.conf文件来实现的,下面举例说明。
方法一:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 211.*.*.*
<VirtualHost 211.*.*.*>
ServerName 211.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 211.*.*.*>
DocumentRoot "c:/web"
ServerName tuan.coo8.com
</VirtualHost>
说明:蓝色部分是实现拒绝直接通过211.*.*.*这个IP的任何访问请求,这时如果你用211.*.*.*访问,会提示拒绝访问。红色部分就是允许通过http://tuan.coo8.com/这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web)
方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 211.*.*.*
<VirtualHost 211.*.*.*>
DocumentRoot "c:/test"
ServerName 211.*.*.*
</VirtualHost>
<VirtualHost 211.*.*.*>
DocumentRoot "c:/web"
ServerName www.liangdianbaike.cn
</VirtualHost>
说明:蓝色部分是把通过211.*.*.*这个IP直接访问的请求指向c:/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。
注意:1. 直接复制粘贴的话可能会带有中文空格,请把这些多余的空格去掉。
2. 如果使用了负载均衡,限制的IP不要写外网IP,请填写内网IP。
与本文相关的文章
- · 512M内存apache进行优化配置(work模式)
- · 使用Apache的ab工具进行压力测试
- · 解决Apache长时间占用内存大的问题
- · apache 的 MaxRequestsPerChild 与 keepalive
- · Apache NameVirtualHost *:80 has no VirtualHosts
- · nginx使用stream模块做ssh转发
- · git基本命令
- · linux shell守护进程(daemon)
- · PHP替换全角空格
- · nginx+keepalive负载均衡高可用
- · 一步一步使用mycat(四):Redis数据库缓存
- · 一步一步使用mycat(三):分库分表