这篇文章跟大家分析一下“如何实现Apache访问控制”。内容详细易懂,对“如何实现Apache访问控制”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如何实现Apache访问控制”的知识吧。
Apache访问控制
作用
1.控制对网站资源的访问
2.为特定的网站目录添加访问授权
常用访问控制方式
1.客户机地址限制
2.用户授权限制
基于客户端地址的访问控制
1.使用Require配置项实现访问控制,按先后顺序限制
2.可用于<Location>、 <Directory>、 <Files>、 <Limit>配置段中
Require配置项的常见语法
Require all granted
Require all denied
Require local
Require [not] host <主机名或域名列表>
Require [not] ip <IP地址或网段列表>
使用not禁止访问时要将其置于<RequireAll> </RequireAll>容器中并在容器中指定相应的限制策略
范例演示
Apache访问之客户机地址限制
1.先查看客户机的IP地址
2.配置httpd扩展配置文件
[root@localhost ~]# cd /etc/httpd/conf/extra //扩展配置文件目录
[root@localhost extra]# ls
vhost.conf
[root@localhost extra]# vim vhost.conf //编辑虚拟主机配文件
<VirtualHost 192.168.235.129:80>
DocumentRoot "/var/www/html/accp/"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_1og" common
<Directory "/var/www/html/">
<RequireAll> //容器起始标签
Require not ip 192.168.235.140 //禁止IP为192.168.235.140的主机访问
Require all granted
</RequireAll> //容器结束标签
</Directory>
</VirtualHost>
[root@localhost extra]# systemctl restart httpd //重启服务
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
3.使用客户机测试网页
Apache访问之用户授权限制
1.创建用户认证数据库
[root@localhost ~]# cd /etc/httpd/conf //进入httpd主配置文件
[root@localhost conf]# htpasswd -c /etc/httpd/conf/pwd test //创建用户加密文件,若文件存在则不需要加-c
New password: //输入自定义密码
Re-type new password: //确认密码输入
Adding password for user test
[root@localhost conf]# cat pwd //查看用户及密码加密
test:$apr1$VBfoRWHC$Feck.BITMYhaOlEKrc/1j.
2.配置域名解析
[root@localhost extra]# vim /etc/named.rfc1912.zones
zone "naccp.com" IN {
type master;
file "naccp.com.zone";
allow-update { none; };
};
[root@localhost extra]# cd /var/named
[root@localhost named]# cp -p accp.com.zone naccp.com.zone
[root@localhost named]# vim naccp.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.235.142
3.配置httpd扩展配置文件
[root@localhost conf]# cd /etc/httpd/conf/extra
[root@localhost extra]# vim vhost.conf
... //省略部分不做修改,追加以下内容
<VirtualHost 192.168.235.142:80>
Documentroot "/var/www/html/accp02/"
ServerName www.naccp.com
Errorlog "logs/www.accp02.com.error_log"
Customlog "logs/www.accp02.com.access_log" common
<Directory "/var/www/html/">
AuthName "DocumentRoot" //声明条目
AuthType Basic //基本验证类型
AuthUserFile /etc/httpd/conf/pwd //验证文件目录
Require valid-user //授权用户的验证
</Directory>
</VirtualHost>
[root@localhost extra]# systemctl restart httpd //重启服务
4使用客户机测试网页
关于如何实现Apache访问控制就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下天达云网站!