centos 7中httpd-2.4相关文件
- 配置文件 主配置文件:/etc/httpd/conf/httpd.conf 子配置文件:/etc/httpd/conf.d/*.conf
模块相关的配置文件:/etc/httpd/conf.modules.d/*.conf
-
日志文件 访问日志:/var/log/httpd/access_log 错误日志:/var/log/httpd/error_log
-
站点文档 /var/www/html
-
模块文件路径 /usr/lib64/httpd/modules
-
服务控制 systemctl enable|disable httpd.service systemctl {start|stop|restart|status} httpd.service
httpd-2.4配置应用
- 切换使用MPM 编辑配置文件/etc/httpd/conf.modules.d/00-mpm.conf,启用要启用的MPM相 关的LoadModule指令即可
- 基于IP的访问控制
允许所有的主机访问:Require all granted
拒绝所有的主机访问:Require all deny
授权指定IP访问:Require ip IPADDR
拒绝指定用户的访问:Require not ip IPADDR
授权指定的主机访问:Require host HOSTNAME
拒绝指定的主机访问:Require not host HOSTNAME
访问白名单:
<RequireAny>
Require ip IPADDR
</RequireAny>
访问黑名单
<RequireAll>
Require all granted
Require not ip 192.168.153.7
</RequireAll>
- 基于用户的访问控制 1.定义安全域
<Directory " ">
Options None
AllowOverride None
AuthType Basic
AuthName "String“
AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE"
Require user username1 username2 ...
</Directory>
2.生成账号和密码存储(文本文件) 使用专用命令完成此类文件的创建及用户管理 htpasswd [options] /PATH/TO/HTTPD_PASSWD_FILE username -c:自动创建此处指定的文件,因此,仅应该在此文件不存在时使用; -m:md5格式加密 -s: sha格式加密 -D:删除指定用户
httpd-2.4 虚拟主机的三种实现方案
- 基于端口的虚拟主机
- 基于IP的虚拟主机
- 基于FQDN的虚拟主机 注: 基于FQDN的虚拟主机,需要利用DNS或host文件解析域名
httpd-2.4应用举例
建立httpd服务,要求: (1) 提供一个基于名称的虚拟主机:www1.stuX.com, 页面文件目录为/web/vhosts/www1; 错误日志为/var/log/httpd/www1/error_log, 访问日志为/var/log/httpd/www1/access_log; (2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问; (3) www1不允许192.168.100.135/24网络中的主机访问;
创建要求所需目录
mkdir -pv /web/vhosts/www1 创建页面文件目录
mkdir /var/log/httpd/www1 创建日志文件目录
编辑配置文件
生成用户账号和密码存储
语法检测,若无问题,则启动服务
测试结果
通过指定用户查看状态信息 测试只有IP192.168.100.135的主机不能访问 其他主机访问: 192.168.100.135访问: 查看日志: access_log error_log