一、Apache 2.4版本后访问控制的变化
在Apache2.4版本中,使用mod_authz_host这个新的模块来实现访问控制,其他授权检查也以同样的方式来完成。旧的访问控制语句已经不再兼容,除非打开mod_access_compat模块否则会报错。
而Apache2.2版本之前的访问控制是基于客户端的主机名、IP地址以及客户端请求中的其他特征来实现的,使用Allow(允许),Deny(拒绝),Order(排序),Satisfy(满足)指令。
Apache 2.4版本之后访问控制配置示例:
Require all granted #允许所有
Require all denied #拒绝所有
Require host qxwa.com #允许所有qxwa.com的请求
Apache 2.2版本之前访问控制配置示例:
# 允许所有
Order allow,deny
Allow from all
# 拒绝所有
Order deny,allow
Deny from all
# 允许所有qxwa.com的请求
Order Deny,Allow
Deny from all
Allow from qxwa.com
Apache 2.4版本之后Require常见访问控制配置示例:
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
二、Apache关闭VirtualHost的Log日志记录
有时候日志不需要记录,关闭Apache日志很简单,直接在配置文件里设置ErrorLog off或 # CustomLog即可。
Apache关闭某个虚拟主机(VirtualHost)的Log记录方法如下:
ErrorLog off #关掉Error Log记录
CustomLog /dev/null combined #关掉 Access Log记录
示例:
<VirtualHost *:80>
ServerName qxwa.com
DocumentRoot /var/www/
ErrorLog /var/log/apache2/error_qxwa.log
CustomLog /var/log/apache2/access_qxwa.log combined
ErrorLog off
CustomLog /dev/null combined
</VirtualHost>