一、httpd-2.4特性概述 1.httpd-2.4官方公布新特性(全) (1)MPM支持运行DSO机制;以模块形式按需加载; (2) 支持事件驱动,eventMPM模块生产环境可用; (3) 支持异步读写; (4) 支持每个模块及每个目录单独日志级别定义; (5) 每个请求相关的专业配置;<If> (6) 增强版的表达式分析器; (7) 支持毫秒级的持久连接时间限制定义(keepalivetimeout); (8)基于FQDN的虚拟主机不再需要NameVirtualHost指令; (9) 支持新的指令,AllowOverrideList (10) 支持用户自定义变量; (11) 降低对内存的消耗
2.新模块(部分) (1) mod_proxy_fcgi:反向代理时支持apache服务器后端协议的模块 (2) mod_proxy_scgi:代理时支持python服务器后端协议的模块 (3) mod_proxy_express:基于表达式完成动态代理配置 (4) mod_remoteip:基于IP的访问控制机制被改变 修改了一些配置机制:不再支持使用Order,Deny, Allow来做基于IP的访问控制; … ...
二、CentOS 7 RPM安装配置httpd-2.4 主配置文件:/etc/httpd/conf/httpd.conf 模块配置文件:/etc/httpd/conf.modules.d/*.conf 辅助配置文件:/etc/httpd/conf.d/*.conf 1.切换使用MPM 1) mpm:以DSO机制动态模块提供,配置文件00-mpm.conf [iyunv@localhost ~]# vim /etc/httpd/conf.modules.d/00-mpm.conf启用模块配置信息 LoadModulempm_NAME_module modules/mod_mpm_NAME.so NAME:prefork, event, worker 2)服务控制:systemctl{start|stop|restart|status|reload} httpd.service
2.修改'Main' server的DocumentRoot 默认不能访问DocumentRoot定义的任意网页,必须明确授权 必须定义<Directory> … ...<Directory>容器作控制权限
3.基于IP的访问控制法则 (1)全部设定 允许所有主机访问:Requireall granted 拒绝所有主机访问:Requireall deny (2)控制特定IP访问 Require ip IPADDR:授权指定来源地址的主机访问 Require not ip IPADDR:拒绝指定来源地址的主机访问 IPADDR: IP:172.16.100.2 Network/mask:172.16.0.0/255.255.0.0 Network/Length:172.16.0.0/16 Net:172.16 (3)控制特定主机(HOSTNAME)访问 Requirehost HOSTNAME:授权指定来源的主机访问; Requirenot host HOSTNAME:拒绝 其中HOSTNAME可以有如下格式表示: FQDN:特定主机 domin.tld:指定域名下的所有主机 注意:定义多条控制指令需要使用容器<RequireAll> … ...</RequireAll>来写 例如:<RequireAll> Requireall granted Requirenot ip 172.16.100.2 </RequireAll>
4.虚拟主机配置 基于FQDN的虚拟主机也不再需要NameVirutalHost指令; <VirtualHost*:80> ServerNamewww.b.net DocumentRoot"/apps/b.net/htdocs" <Directory"/apps/b.net/htdocs"> OptionsNone AllowOverrideNone Requireall granted </Directory> </VirtualHost> 注意:任意目录下的页面只有显式授权才能被访问;
5.SSL模块:无多少变化 #yum install -y mod_ssl
6. 毫秒级持久连接时长定义:KeepAliveTimeout #ms
|