参考: http://www.dotblogs.com.tw/maple ... e24_httpd_conf.aspx
1. 访问控制
2.2 的时候
Order deny,allow
Deny from all
在 2.4 需要改成
Require all denied
常用的配置有:
Require all denied
Require all granted
Require host xxx.com
Require ip 192.168.1 192.168.2
Require local
2. RewriteLogLevel 变为:logLevel
如,LogLevel warn rewrite: warn
3. Namevirtualhost 被移除
4. 网站压缩,除了使用mod_deflate,还要mod_filter
使用ssl,除了使用mod_ssl,还需要mod_socache_shmcb
1. 访问控制
2.2 的时候
Order deny,allow
Deny from all
在 2.4 需要改成
Require all denied
常用的配置有:
Require all denied
Require all granted
Require host xxx.com
Require ip 192.168.1 192.168.2
Require local
2. RewriteLogLevel 变为:logLevel
如,LogLevel warn rewrite: warn
3. Namevirtualhost 被移除
4. 网站压缩,除了使用mod_deflate,还要mod_filter
使用ssl,除了使用mod_ssl,还需要mod_socache_shmcb
0
Coohx - 小运维
本帖最后由 Coohx 于 2016-6-24 21:43 编辑
这篇文章主要介绍了Apache2.4和Apache2.2访问控制配置语法对比,本文给出若干配置实现讲解Apache2.4和Apache2.2访问控制配置语法的不同之处,需要的朋友可以参考下
本文翻译自官方文档:《Upgrading to 2.4 from 2.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 #允许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
这篇文章主要介绍了Apache2.4和Apache2.2访问控制配置语法对比,本文给出若干配置实现讲解Apache2.4和Apache2.2访问控制配置语法的不同之处,需要的朋友可以参考下
本文翻译自官方文档:《Upgrading to 2.4 from 2.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 #允许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
0
这篇我看过了,里面有错误你也不改一下就直接复制了
Coohx 发表于 2016-4-16 21:31
这篇文章主要介绍了Apache2.4和Apache2.2访问控制配置语法对比,本文给出若干配置实现讲解Apache2.4和Apache ...
这篇我看过了,里面有错误你也不改一下就直接复制了
0
是的,需要写成Require all denied才行,不过你可以增加mod_access_compat这个模块来兼容旧语句
kevin_tao 发表于 2015-12-28 21:43
那如果2.4的配置还是写成Deny from all这些是不是意味着不生效了?
是的,需要写成Require all denied才行,不过你可以增加mod_access_compat这个模块来兼容旧语句
0
抱歉,当时学习这块只用了几句,没验证其他的,我刚改了下,哪里有错,还请指正,互相学习。
Coohx - 小运维
善思致用 发表于 2016-6-22 15:24
这篇我看过了,里面有错误你也不改一下就直接复制了
抱歉,当时学习这块只用了几句,没验证其他的,我刚改了下,哪里有错,还请指正,互相学习。
编辑回复