加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 系统 > 正文

如何完成Apache访问控制

发布时间:2022-01-12 06:05:32 所属栏目:系统 来源:互联网
导读:这篇文章跟大家分析一下如何实现Apache访问控制。内容详细易懂,对如何实现Apache访问控制感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习如何实现Apache访问控制的知识吧。 Apache访问控制
  这篇文章跟大家分析一下“如何实现Apache访问控制”。内容详细易懂,对“如何实现Apache访问控制”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如何实现Apache访问控制”的知识吧。
 
  Apache访问控制
  作用
  1.控制对网站资源的访问
  2.为特定的网站目录添加访问授权
 
  常用访问控制方式
  1.客户机地址限制
  2.用户授权限制
  如何实现Apache访问控制
 
  基于客户端地址的访问控制
  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地址
  如何实现Apache访问控制
 
  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访问控制
 
  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 //重启服务

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读