Apache2.4和Apache2.2访问控制配置语法对比

一、访问控制

在Apache2.2版本中,访问控制是基于客户端的主机名、IP地址以及客户端请求中的其他特征,使用Order(排序), Allow(允许), Deny(拒绝),Satisfy(满足)指令来实现。

在Apache2.4版本中,使用mod_authz_host这个新的模块,来实现访问控制,其他授权检查也以同样的方式来完成。旧的访问控制语句应当被新的授权认证机制所取代,即便Apache已经提供了mod_access_compat这一新模块来兼容旧语句。

这里有一些实例,用新方法取代旧语句实现相同的访问控制

实例1:所有请求都被拒绝

Apache2.2 配置:

代码如下:

Order deny,allow #排序,先拒绝后允许
Deny from all #拒绝所有

Apache2.4 配置:

代码如下:

Require all denied #拒绝所有

实例2:所有请求都被允许

Apache2.2 配置:

代码如下:

Order allow,deny #排序,先允许后拒绝
Allow from all #允许所有

Apache2.4 配置:

代码如下:

Require all granted #拒绝所有

实例3:example.org所有请求都被允许,其他拒绝

Apache2.2 配置:

代码如下:

Order Deny,Allow #排序,先拒绝后允许
Deny from all #拒绝所有
Allow from example.org #允许example.org

Apache2.4 配置:

代码如下:

Require host example.org #拒绝所有

二、Apache Require 指令

了解更多require指令用法:《Apache Module mod_authz_core》

附:常见访问控制指令

代码如下:

Require all granted #允许所有
Require all denied #拒绝所有
Require env env-var [env-var] ... #允许,匹配环境变量中任意一个
Require method http-method [http-method] ... #允许,特定的HTTP方法
Require expr expression #允许,表达式为true
Require user userid [ userid ] ... #允许,特定用户
Require group group-name [group-name] ... #允许,特定用户组
Require valid-user # #允许,有效用户
Require ip 10 172.20 192.168.2 #允许 特定IP

时间: 2025-01-13 17:51:57

Apache2.4和Apache2.2访问控制配置语法对比的相关文章

Linux下Apache2.2和PHP5的安装配置

Linux下Apache2.2和PHP5的安装配置 环境介绍 我安装使用的Linux版本为CentOS6.5最精简版,Apache为2.2.29,PHP版本为5.4.28. 系统安装 首先安装CentOS操作系统,由于是最小包,所以很多东西默认没有安装,装好需要做几点配置. 1.将系统的网卡打开,以便系统可以连接网络.(系统默认为关闭状态) 要修改的文件是:/etc/sysconfig/network-scripts/ifcfg-eth0 在这个文件中有:ONBOOT=no,将这个配置项改为ye

CentOS6.7上编译安装Apache2.2和Apache2.4

目录 一.Apache的工作模式 1.简介 2.比较 二.CentOS6.x上安装Apache2.2 (一)rpm安装apache (二)编译安装apache 1.安装编译环境 2.下载解压依赖包 3.安装apache 4.测试apache 5.查看apache相关信息 6.配置程序运行环境 7.导出库文件 8.导出头文件 9.导出手册 10.将Apache添加到启动服务 (三) 编译安装Apache2.4 1.编译安装apr 2.编译安装apr-util 3.安装需要的依赖包 4.编译安装Ap

samba文件共享实现访问控制配置

新建一个samba文件服务器,实现不同用户组访问控制的需求. 所需软件 [[email protected] ~]yum -y install samba samba-client samba-common 大致配置如下(只写主要配置) [global] workgroup =WORKGROUP //samba主要是跨平台共享,一般情况下windows都是workgroup组 security = user    //安全级别配置,实现不同用户.组访问控制的.    load printers

logstash配置语法

Logstash 用 {} 来定义区域 input { stdin {} syslog {} } 数据类型 bool debug => true string host => "hostname" number port => 514 array match => ["datetime", "UNIX", "666"] hash options => { key1 => "valu

【语言对比】控制流语法对比

在了解各个语言支持的数据类型之后,接下来要对比的,就是各种语言支持的各种控制结构. 1.选择控制结构 Python的选择语句if/elif/else : 语法含义上和C++.JAVA语言没有区别,只是在语法格式上有所不同.首先,采用elif作为else if的缩写(其他的脚本语言中也大部分是这样),其次,对于每一个选择条件,有冒号作为截止,其他的语言都是采用{}来标识代码段的.Python中是没有类似于JAVA和C++中的switch语句的,至于原因,是因为python中有一个很好的方式能够代替

java访问控制权限和C++访问控制权限的对比

1.java修饰符权限 这里有一个包的概念,所谓同一个包是指*.java文件处于同一个文件夹下 2.C++修饰符权限 public:这是公有的成员,允许类外直接访问,当然,这要加上类作用域符::, protected:这是保护成员,只允许该类及其派生类访问 private:这是私有成员,只允许在该类中进行访问,当然,在类外只可以通过设定的公有函数进行访问. java访问控制权限和C++访问控制权限的对比

从Android到iOS开发——(1)、objective-c与java语法对比

从Android到iOS开发--(1).objective-c与java语法 对比 从6月开始,因为有iOS项目要做,就开始了iOS开发之旅,截止今天,已经做了2个项目,给我的感受是iOS开发整体要比Android简单,但是开发细节上两者却又同样的烦恼.那么要想开发iOS,那么到底选择objective-c or swift,我的建议是前者,后者可以在swift2.0和xcode7 以后大家去学习会比较好些.好了,不废话了,下面咱们来看下objective-c和java语法上的比较,希望能让ja

Ubantu系统下Apache2.4.7+mod_wsgi+Django环境配置

一. 安装Apache2.4:sudo apt-get install apache2 安装mod_wsgi模块:sudo apt-get install libapache2-mod-wsgi 安装Django: sudo apt-get install python-setuptools sudo apt-get install python-pip sudo pip install django 进入到/etc/apache2/目录,主要配置文件为apache2.conf. 新建一个属于自

ubuntu下配置apache2多域名(apache2.4.6)

Ubuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同. 1. 打开目录 /etc/apache2/sites-available/, 发现 default 和 default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件