浅谈 Apache 的访问控制配置

为了更好地控制对网站资源的访问,所以需要为特定的网站目录添加访问授权。
客户机地址限制:
通过 Require 配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问,在 httpd服务器的主配置文件的 <Location>、<Directory>、<Files>、<Limit> 配置段中均可以使用 Require 配置项来控制客户端的访问。
常用格式如下:
Require all granted :表示允许所有主机访问
Require all denied :表示拒绝所有主机访问
Require local :表示仅允许本地主机访问
Require [not] host <主机名或域名列表> :表示允许或拒绝指定主机或域访问
Require [not] IP <IP地址或网段列表> :表示允许或拒绝制定IP或网段访问
具体用法:
路径:/usr/local/httpd/conf/httpd.conf
1、允许所有

   <Directory "/usr/local/httpd/htdocs">
  …… // 省略部分内容
        Require all granted    #允许所有主机访问
     </Directory>

2、仅允许某台主机

   <Directory "/usr/local/httpd/htdocs">
     …… //省略部分内容
        Require ip 192.168.1.20       #允许单个主机访问
     </Directory>

3、仅拒绝某台主机或网段(注意:在使用 not 禁止访问时要将其置于<RequireAll></RequireAll>容器中,在容器中配置相应策略):

    <Directory "/usr/local/httpd/htdocs">
        …… //
        <RequireAll>
                  Require   all  granted      # 允许所有主机访问
                            Require   not   ip  192.168.0.0/24   192.168.1.20    # 拒绝0.0网段,1.20 主机
        </RequireAll>
      </Directory>

当未被授权的客户机访问目录时,将会被拒绝,显示 HTTP 403 错误 报错
用户授权限制:
基于用户的访问控制包含认证(Authentication)和授权(Authorization)两个过程,是 Apache 允许指定的用户使用用户名和密码访问特定资源的一种方式。
Apache支持使用摘要认证(Digest)和基本认证(Basic)两种方式。注意:使用摘要认证需要在编译 httpd 之前加上“--enable-auth-digest”
1、创建用户认证数据文件:

 [[email protected] /]# cd /usr/local/httpd/
 [[email protected] httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd zhangsan
   New password:                    //-c 选项表示新建立此文件 //根据提示设置密码
   Re-type new password:       // 省略 -c,表示指定的用户数据文件已存在
   Adding password for user zhangsan
  [[email protected] httpd]# cat /usr/local/httpd/conf/.awspwd     //确认用户数据文件
   zhangsan:$apr1$ROjz961w$dafGJ0Uf2BRIIlaykDkJH/
   lisi:$apr1$Zke/LK3e$zlTZ1W9zwt3u5w.91LDWd/

2、添加用户授权配置:

 [[email protected] /]# vim /usr/local/httpd/conf/httpd.conf
 <Directory  "/usr/local/httpd/htdocs">
 …… // 省略部分内容
 Require all denied
        authname "webserver"     # 定义受保护的领域名称
        authtype basic                  # 设置认证类型
        authuserfile /usr/local/httpd/conf/.awspwd     #设置用于保护用户账号、密码的认证文件路径
        require valid-user              # 要求只有认证文件中的合法用户才能访问(若只授权给单个用户,可改指定的用户名:如 webadmin)
</Directory>
[[email protected] /]# systemctl restart httpd   # 重启服务使新配置生效

需要注意的是,用户访问授权与主机访问控制同时设置时,设置的主机访问控制优先生效。所以需要拒绝所有访问,才能使用授权的用户名来访问网站

原文地址:https://blog.51cto.com/14227204/2424608

时间: 2024-11-13 09:54:55

浅谈 Apache 的访问控制配置的相关文章

浅谈Apache性能调优

做了很多WEB系统性能测试,都知道了解测试环境,服务器硬件配置,web服务器参数配置是我们开始测试前首先要做的事情. 针对并发数量来说,不同数量级的用户并发,需求的服务器和web服务参数肯定是不同的. 对于很多像我们这些做性能测试的人员,测试结果的正确性经常会被怀疑,甚至有时候也会被自己怀疑. 是什么原因导致呢? 我觉得,是因为我们对Web系统不够熟悉,对Apache不够熟悉,或者你熟悉但都是理论上的,所以不够自信. 因此,经常看到测试人在测试过程中,认为并发用户数量跑完就看有没有报错,是否全部

浅谈ACL(访问控制列表)

ACL(访问控制列表)是应用在路由器接口的指令列表.这些指令列表用来告诉路由器,那些数据包可以接收,那些数据包需要拒绝.基本原理为:ACL使用包过滤技术,在路由器上读取OSI七层模型的第三层及第四层包头中的信息,如源地址.目的地址.源端口.目的端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的.ACL通过在路由器接口处控制数据包是转发还是丢弃来过滤通信流量.路由器根据ACL中指定的条件来检测通过路由器的数据包,从而决定是转发还是丢弃数据包.ACL有三种类型:1.标准ACL:根据数

浅谈Linux下VIM配置

vim是从 vi 发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器.初识Linux,对于很多东西还在学习中.但是作为一个熟悉了VS编译环境的菜鸟来说,面对Linux的界面只有吐槽了...去网上搜索了一些关于vim配置的相关文档,自己进行了一些配置,当然还不禁全面,以后可以继续进行配置.下面就将自己的配置分享给大家,希望可以由一点帮助. Centos里的VI只默认安装了vim-minimal-

浅谈Redis及其安装配置

一.Redis的介绍 二.Redis的安装配置 三.Redis的配置文件说明 四.Redis的简单操作 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持 数据模型: 作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系.但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一:    L

浅谈关于struts2的配置

计应134 陈帮政 Struts 2的认识 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品.虽然从Struts 1到Struts 2有着太大的变

浅谈 SSH 远程管理配置

在CenOS 7系统中,OpenSSH服务器是由系统盘中的openssh.openssh-server等软件包提供的(默认已经安装),并且已经将sshd添加为标准的系统服务,可以执行systemctl status sshd来查看服务的状态.只要拥有合法的登录shell,在不考虑安全限制的情况下,都可以远程登录操作系统. sshd服务的配置文件默认位于 /etc/ssh/sshd_config目录下,其中有很多配置项用来控制连接本服务器的.可以分为三个方面: 服务监听选项: [[email pr

Apache Spark源码走读之21 -- 浅谈mllib中线性回归的算法实现

欢迎转载,转载请注明出处,徽沪一郎. 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 机器学习算法是的主要目的是找到最能够对数据做出合理解释的模型,这个模型是假设函数,一步步的推导基本遵循这样的思路 假设函数 为了找到最好的假设函数,需要找到合理的评估标准,一般来说使用损失函数来做为评估标准 根据损失函数推出目标函数 现在问题转换成为如何找到目标函数的最优解,也就是目标函数的最优化

浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)

1.熟悉几个组件 1.1.apache     —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等 servlet容器处理jsp.1.2.ngnix     —— 俄罗斯人开发的一个高性能的 HTTP和反向代理服务器.由于Nginx 超越 Apache 的高性能和稳

浅谈安全性攻击人为攻击的主要形式和防御

0x01 安全性攻击主要的两种方式 当前,对信息系统(包括硬件.软件.数据.人.物理环境及其基础设施)的攻击来自多方面,这些攻击我们可以宏观地分为人为攻击(主观因素)和自然灾害攻击(客观因素),这两大类的攻击都会对信息安全构成威胁.造成自然灾害攻击的自然因素包括各种自然灾害:如水.火.雷.电.风暴.烟尘.虫害.鼠害.海啸和地震等:系统的环境和场地条件,如温度.湿度.电源.地线和其他防护设施不良造成的威胁:电磁辐射和电磁干扰的威胁:硬件设备自然老化,可靠性下降的威胁等.因为自然灾害往往不可预知和抗