codetc - 网站开发技术 首页 后端 服务器 查看内容

Apache配置禁止使用IP访问网站

2015-1-11 16:27| 发布者: CODETC| 查看: 3663| 评论: 0

在一般情况下,网站可以用域名和IP来访问。本来如果网站可以通过IP直接访问,这也没什么问题,但是会有一些隐患:

比如由于搜索引擎也会收录你的IP地址的页面,所以同一个页面搜索引擎会重复收录,造成页面的权重不如单个收录高。
如果使用IP可以访问,那么域名就有可能被恶意指向。

还记得曾经的 google.com.sb 事件吗?google.com.sb 这个域名被恶意指向了百度,后来证实了 google.com.sb 这个域名为第三者恶意指向的,并不是Google所为。当然这只是个玩笑,但是如果被人恶意用别的域名解析到你的IP的话,那么你的网站就能通过别人的域名来访问了。

被恶意指向之后会发生什么?假如那域名是不友善的域名,比如曾经指向非法网站,容易引发搜索引擎惩罚,连带IP受到牵连。即使域名没什么问题,但流量也会被劫持到别的域名,从而遭到广告联盟的封杀……

那么我们要如何解决这个问题呢?最直接的方法是让用户只能通过域名来访问网站,而不能通过IP来直接访问。这个可以修改Apache配置文件httpd.conf来实现。下面是一个Apache配置的例子:
NameVirtualHost 112.*.*.*
<VirtualHost 112.*.*.*>
ServerName 112.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>

<VirtualHost 112.*.*.*>
DocumentRoot /var/www/html/
ServerName www.codetc.com
</VirtualHost>

<VirtualHost 112.*.*.*>
DocumentRoot /var/www/html/
ServerName codetc.com
</VirtualHost>
第一部分代码是实现拒绝直接通过 112.*.*.* 这个IP的任何访问请求,这时如果你用 112.*.*.* 访问,会提示拒绝访问。

第二部分代码就是允许通过 http://www.codetc.com/ 这个域名访问,主目录指向 /var/www/html/ (这里服务器OS是 CentOS)

第三部分代码是允许不带 www 的域名访问,应该能和上面的合并一起写吧。

通过上面的配置,便可以禁止使用IP来访问网站了
文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-117-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部