企业平台架构--Apache配置与应用(Apache的访问控制,日志分割,分析,web虚拟主机详解)

本文深入讲解Apache配置,包括连接保持、访问控制和日志管理。在访问控制中,介绍了基于客户端地址和用户授权的限制。日志管理部分涉及日志分割和AWStats日志分析工具的使用。最后,详细阐述了如何构建基于域名、端口和不同IP的虚拟主机,提供具体实例演示。
摘要由CSDN通过智能技术生成

前言

  • Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源,跨平台,功能模块化,可灵活定制等诸多优点,其不仅性能稳定,在安全性方面的表现也十分出色

一:Apache配置详解

1.1:Apache连接保持

1.1.1:为什么要保持连接
  • HTTP协议是基于TCP协议之上的,在进行HTTP连接之前,要先进行TCP连接,每个TCP连接都要进行三次握手与四次挥手。建立与关闭连接对于HTTP协议而言会消耗很多的内存与CPU资源。
  • 解决办法是HTTP连接保持。就是尽量地保持客户端的连接,通过一个TCP连接传送多个HTTP请求响应,对于客户端可以提高50%以上的响应时间,对于服务器可以降低建立与关闭连接时的资源消耗。
1.1.2:保持连接的方式
  • Apache连接保持相关参数
    • KeepAlive
      • 是否打开连接保持,OFF关闭,ON打开
    • KeepAliveTimeout
      • 一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
    • MaxKeepAliveRequests
      • 一次连接能够传输的最大请求数量

1.2:Apache访问控制

1.2.1:Apache访问控制概述
  • 作用
    • 控制对网站资源的访问
    • 为特定的网站目录添加访问授权
  • 常用访问控制方式
    • 客户机地址限制
    • 用户授权限制
1.2.2:基于客户端地址的访问控制
  • 使用Require配置项实现访问控制,按先后顺序限制

  • 可用,,,配置段中

  • Require配置项的常见语法

    Require all granted
    Require all denied
    Require local
    Require [not] host <主机名或域名列表>
    Require [not] ip <IP地址或网段列表>
    '//使用not禁止访问时要将其置于<RequireAll></RequireAll>容器中,并在容器中指定相对应的限制策略'
    
  • 举例

    [root@localhost ~]# cd /etc/httpd/conf
    [root@localhost conf]# ls
    httpd.conf  magic
    [root@localhost conf]# mkdir abc
    [root@localhost conf]# ls
    abc  httpd.conf  magic
    [root@localhost conf]# cd abc
    
    [root@localhost abc]# vim vhost.conf
    <VirtualHost *:80>
     ...省略内容
      <Directory "/var/www/html">
      Require not ip 192.168.100.100	'//表示不允许ip192.168.100.100访问'
      Require all granted
      </Directory>
    </VirtualHost>
    ...省略内容
    
1.2.3:用户授权限制–创建用户认证数据库
  • 创建用户认证数据库

    命令基本格式
    '//htpasswd命令是httpd自带的'
    htpasswd -c /etc/httpd/conf/abc webadmin '//为用户webadmin创建密码文件'
    New password:'//输入密码'
    Re-type new password:'//重复输入密码'
    cat  /etc/httpd/conf/abc
    webadmin:加密密码
    

    举例

    [root@localhost abc]# htpasswd -c /etc/httpd/conf/aaa ddd
    New password: 
    Re-type new password: 
    Adding password for user ddd
    [root@localhost abc]# cat /etc/httpd/conf/aaa
    ddd:$apr1$zwIklPGy$ZINaIkXsSq36oIk2lAiiJ1
        '//添加第二个用户'
    [root@localhost abc]# htpasswd /etc/httpd/conf/aaa bbb
    New password: 
    Re-type new password: 
    Adding password for user bbb
    [root@localhost abc]# cat /etc/httpd/conf/aaa
    ddd:$apr1$zwIklPGy$ZINaIkXsSq36oIk2lAiiJ1
    bbb:$apr1$q7OdS8z1$ELGg2a1AhHP.QfXJXfQTQ1
    
    
1.2.4:用户授权限制–添加用户授权配置
'//配置基本格式'

  <Directory "/var/www/html">
  AuthName "DocumentRoot"  '//受保护的领域名称'
  AuthType Basic		'//认证类型'
  AuthUserFile /etc/httpd/conf/qwe  '//用户认证账号文件'
  Require valid-user  '//要求通过认证才能访问'
  </Directory>

举例

[root@localhost abc]# vim vhost.conf 
    ...省略内容
<VirtualHost 192.168.197.100:80>
  DocumentRoot "/var/www/html/ccc"
  ServerName www.ccc.com
  Errorlog "logs/www.ccc.com.error_log"
  Customlog "logs/www.ccc.com.custom_log" common
  <Directory "/var/www/html">
  AuthName "DocumentRoot"
  AuthType Basic
  AuthUserFile /etc/httpd/conf/aaa
  Require valid-user
  </Directory>
</VirtualHost>
...省略内容
    

二:Apache日志管理

2.1:日志分割

  • 随着网站的访问量增大,默认情况下Apache的单个日志文件也会越来越大
    • 日志文件占用磁盘空间很大
    • 查看相关信息不方便
  • 对日志文件进行分割
    • Apache自带rotatelogs分割工具实现
    • 第三方工具cronolog分割<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值