当前位置: > Linux服务器 > apache >

Apache禁止未经许可的域名访问ECS上的网站

时间:2016-01-03 01:42来源:linux.it.net.cn 作者:IT

有时ECS上的网站会被人恶意指向,譬如说您的ECS的IP地址为123.123.123.123,正常服务的域名为www.abc.com,但是此时有恶意用户使用其他的域名,恶意指向到您的网站,如恶意用户注册了一个域名www.fake.com,然后指向到了IP123.123.123.123,这样会使访问原本不属于您网站的域名www.fake.com也会出现您的网站内容。通过Apache的虚拟主机可以变通的解决这个问题。

测试场景:
服务器上有两个网站,分别为http://t1.huigher.cn/和http://p1.huigher.cn/
Apache版本为2.2.15

打开apache的配置文件,CentOS下默认位置在/etc/httpd/conf/httpd.conf,在其中加入以下内容
1、 首先是加入以下代码,告知Apache使用了基于host名的虚拟主机功能:
NameVirtualHost *:80
2、 然后加入以下代码,作用是当客户端携带的host头不在之后设置的网站域名内时,指向一个403错误页面告知用户域名非法,其中DocumentRoot即是放置错误提示页面的目录,在下面可以放置一个简单的html页面提示用户访问的域名非法 

z1.JPG

 3、 最后加入以下代码,告知Apache合法的网站主机头,这个代码块根据实际情况修改内容,该实例中加入了两个网站,分别是p1.huigher.cn和t1.huigher.cn

z2.JPG

4、 最后重新启动httpd进程就可以看到效果了

5、若希望使用其他域名访问时直接返回403 错误,可以在第二步中将代码改为以下形式:

 z3.JPG

 

重启httpd后再使用其他域名访问就会直接返回403错误了。

 

(责任编辑:IT)
------分隔线----------------------------