Apache访问控制和日志管理

一、Apache连接保持

  • keepalive
    • 是否打开连接保持,OFF关闭,ON打开
  • keepalivetimeout
    • 一次连接多次请求之间的最大间隔时间,两次请求超过改时间连接断开
  • maxkeepaliverequests
    • 一次长连接能够传输的最大请求数量

1.1 编辑连接保持配置文件

vi /usr/local/httpd/conf/extra/httpd-default.conf

KeepAlive On  //是否开启连接保持功能默认保持开启
MaxKeepAliveRequests 100   //一次连接最多请求100个文件
KeepAliveTimeout 5  //单位是秒,超过五秒钟断开

1.2 编辑主配置文件

vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf  //去掉前面的#

1.3 抓包

打开网页,启动抓包工具,在Headers中可以看到刚才的设置
在这里插入图片描述

二、Apache访问控制

常用参数:

Require all granted: 允许所有主机访问
Require all denied: 拒绝所有主机访问
Require local:仅允许本地主机访问
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问;
Require [not] ip <IP 地址或网段列表>:允许或拒绝指定IP地址网络访问

2.1 拒绝某个网段的主机访问

vi /usr/local/httpd/conf/httpd.conf   //对htdocs目录设置控制,直接新增两行
Order deny,allow	//设置允许和拒绝的顺序
Deny from 192.168.20.10/24	//拒绝20 网段的主机访问Apache主页

在这里插入图片描述

三、用户授权限制

3.1创建用户认证数据库

cd /usr/local/httpd/conf
ls /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/conf/.awspwd lqy //-c选项只在新建时使用,.awspwd密码文件,用户自定义

3.2 添加用户授权配置

vi /usr/local/httpd/conf/httpd.conf //添加用户授权配置

<Directory "/usr/local/httpd/htdocs">
AuthName "DocumentRoot"		##受保护的领域名称(自定义)
AuthType Basic				##认证类型
AuthUserFile /usr/local/httpd/conf/.awspwd		##用户认证帐号密码文件
Require  valid-user			##要求通过认证才能访问
#Require all granted    ##注释允许所有访问,关闭此配置
</Directory>

3.3 重启服务

systemctl	restart  httpd

四、日志分割

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

4.2 配置日志分割(rotatelogs)

编辑配置文件
vi /usr/local/httpd/conf/httpd.conf

ErrorLog “|/usr/bin/rotatelogs -l logs/www.test.com_error_%Y%m%d.log 86400”
以秒为单位,将错误日志以一天为间隔进行分隔

CustomLog “|/usr/bin/rotatelogs -l logs/www.test.com_access_%Y%m%d.log 86400” common
将访问日志以一天为间隔进行分隔

4.3 第三方工具cronolog分割

4.1、xftp导入依赖包并解压
在这里插入图片描述
tar -zxvf cronolog-1.6.2.tar.gz

4.2、配置configure并编译安装

./configure && make && make install

4.3、确认工具位置,并修改配置文件

which cronolog
vi /usr/local/httpd/conf/httpd.conf

ErrorLog "|/usr/local/sbin/rotatelogs logs/www.test.com_error_%Y%m%d_log"

CustomLog "|/usr/bin/rotatelogs logs/www.test1.com_access_%Y%m%d_log 86400" common

五、第三方工具AWStarts

  • perl语言开发的一款开源日志分析系统
  • 可用来分析Apache、Samba、Vsftpd、IIS等服务器的访问日志
  • 综合crond等计划任务服务,可对日志内容定期进行分析

5.1 开启Apache的cgi模块

vi	/etc/local/httpd/conf/httpd.conf

在这里插入图片描述
去掉#使服务生效

5.2 编译安装AWStarts

在这里插入图片描述

tar -zxvf awstats-7.6.tar.gz
mv awstats-7.6 /usr/local/awstats

5.3 设置服务器域名和hosts域名解析

vi /etc/hosts

在这里插入图片描述

vi /usr/local/httpd/conf/httpd.conf

在这里插入图片描述

5.4 自动执行配置脚本

cd /usr/local/awstats/tools/
./awstats_configure.pl

第一步:在这里插入图片描述
第二步:
在这里插入图片描述
第三步:在这里插入图片描述
第四步:
在这里插入图片描述
第五步(一直回车):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.5 修改AWStarts配置文件

在这里插入图片描述
在这里插入图片描述
建立数据存放目录

mkdir /var/lib/awstats

5.6 添加访问权限

vi /usr/local/httpd/conf/httpd.conf

在这里插入图片描述

5.7 打开图形界面查看

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值