您的位置:首页 > 运维架构 > Apache

apache环境下web站点禁止用服务器ip访问

2016-08-22 10:46 375 查看
在我们的web站点做好后其实可以通过ip来直接访问的,当然这样在我们在做测试的时候是方便,但是一旦在实际的生产服务器中这样允许ip直接访问源站点是一个危险的举动,如果你的生产服务器被人恶意绑定,流量劫持到别的域名,会被广告联盟给封杀。因为你的域名本来就可以通过ip来访问的,如果被人恶意用域名解析到你的ip上,你的网站就能通过别人的域名来访问,时间一长广告联盟发现域名和ip不符合就封杀了,还有这样别人把你的ip绑定到其它恶意域名上一样也是很危险的。所以我们可以用apache的Rewrite和PHP实现404错误来禁用直接用ip访问你的网站
先在你的虚拟主机上建立一个主机配置,将来自ip的访问Rewrite自定义的php页面里
<VirtualHost *:80>
DocumentRoot "/data/www/error"#自定义的php页面目录
ServerName  XX.XX.XX.XX#服务器上可以访问的ip
<Directory  /data/www/error>
AllowOverride all
RewriteEngine on#这个一定要开
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
然后我们在/data/www/error的目录下建立一个简单的php文件,使用header函数如下
[root@test error]#vim index.php
<?
header(“HTTP/1.1 403 Not Found”);
?>
然后再重启下apache就好了,当然这个是基于有php环境示时才可以的操作,如果Apache的站点都是静态页面我们就可以用一个比较通用的办法,如果有配置过虚拟主机时,我们则可以在虚拟主机配置文件中添加
<VirtualHost *:80>
ServerName XXXX.XXXX.XXXX.XXXX  #这里填IP
<Location />  #在站点的根下禁止一切访问
Order deny,allow
Deny from all
</Location>
</VirtualHost>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache web 站点