A-A+

apache禁止使用ip访问网站

2012年11月08日 服务器 评论 2 条 阅读 6,218 次
如果您有代购或者代维服务器、PHP网站建设、程序代码修改、系统开发等需求,可以联系我购买付费服务。QQ 379880222

有很多客户遇到过这种情况,就是买vps后发现ip曾经被人使用过,而以前的客户比较懒,可能没有去掉原有域名的解析,而vps中建立的网站是可以通过ip访问的,所以就导致了一个网站可能绑定了好几个域名,这样会导致网站在搜索引擎中降低权重,那么我们该如何禁止直接通过ip访问网站呢?有以下两种方法可以实现(当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明。(如果是Virtualmin/Webmin请直接看Virtualmin/Webmin中设置方法

方法一:在httpd.conf文件最后面,加入以下代码(8.8.8.8是服务器ip)
NameVirtualHost 8.8.8.8
<VirtualHost 8.8.8.8:80>
ServerName 8.8.8.8
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>

说明:上面location中的代码是实现拒绝直接通过8.8.8.8这个IP的任何访问请求,这时如果你用过8.8.8.8访问,会提示拒绝访问。

方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 8.8.8.8
<VirtualHost 8.8.8.8:80>
ServerName 8.8.8.8
DocumentRoot "/var/www/empty"
</VirtualHost>

说明:上述是把通过8.8.8.8这个IP直接访问的请求指向/var/www/empty目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。
注:以上两种方法修改后必须重启apache以生效。

Virtualmin/Webmin中设置方法

在virtualmin中新建一个网站,网站域名填写为ip地址。

创建好后,点击左侧的服务器配置菜单,找到其中的网站选项这一项,打开后可以看到有一项Default website for ip address ,默认使用ip访问的是第一个在webmin的网站,如果希望不通过ip访问网站,可以将这项选择为是。这样默认ip访问的网站内容就是你新建的这个以ip为域名网站的内容。

标签:

2 条留言  访客:1 条  博主:1 条

  1. avatar 随风倒

    问一下,我用阿里云中电云集镜像安装博客后,找不到httpd.conf,禁止不了IP啊,要怎么操作。谢谢。

    • avatar 恋香缘

      linux吧?用locate或者whereis或者find命令 查找一下httpd.conf

给我留言