第十章 Apache的访问控制

  • 内容
  • 评论
  • 相关

Apache可以基于源主机名、源IP地址或源主机上的浏览器特征等信息对网站上的资源进行访问控制。它通过Allow指令允许某个主机访问服务器上的网站资源,通过Deny指令实现禁止访问。在允许或禁止访问网站资源时,还会用到Order指令,这个指令用来定义Allow或Deny指令起作用的顺序,其匹配原则是按照顺序进行匹配,若匹配成功则执行后面的默认指令。比如”Order Allow, Deny”表示先将源主机与允许规则进行匹配,若匹配成功则允许访问请求,反之则拒绝访问请求。

先在服务器上的网站数据目录中新建一个子目录,并在这个子目录中创建一个包含Successful单词的首页文件。

打开httpd服务的配置文件,在第129行后面添加下述规则来限制源主机的访问。这段规则的含义是允许使用Firefox浏览器的主机访问服务器上的首页文件,除此之外的所有请求都将被拒绝。

<Directory “/var/www/html/server”>

SetEnvIf User-Agent “Firefox” ff=1

Order allow,deny

Allow from env=ff

</Directory>

注意添加位置是129行那里,别加错地方了,加错了就打不开了

除了匹配源主机的浏览器特征之外,还可以通过匹配源主机的IP地址进行访问控制。例如,我们只允许IP地址为192.168.38.20的主机访问网站资源,那么就可以在httpd服务配置文件的第129行后面添加下述规则。这样在重启httpd服务程序后再用本机(即服务器,其IP地址为192.168.38.10)来访问网站的首页面时就会提示访问被拒绝了

<Directory "/var/www/html/server">

Order allow,deny 

Allow from 192.168.38.20

</Directory>