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配置应用

  1. 切换使用MPM 编辑配置文件/etc/httpd/conf.modules.d/00-mpm.conf,启用要启用的MPM相 关的LoadModule指令即可
  2. 基于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. 基于用户的访问控制 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 虚拟主机的三种实现方案

  1. 基于端口的虚拟主机
  2. 基于IP的虚拟主机
  3. 基于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