Apache连接、访问控制与日志管理

1.Apache连接保持

1.1Apache连接保持相关参数

KeepALIVE:
是否打开连接保持,默认开启On,关闭Off
KeepAliveTimeout:
一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
MaxKeepAliveRequests:
一次长连接能够传输的最大请求数量

1.2配置文件配置

开启区域配置功能

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

Include conf/extra/httpd-default.conf

配置区域配置文件

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

KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100

1.3利用抓包软件测试

1.3.1安装fiddler软件

https://www.telerik.com/fiddler

1.3.2抓包操作步骤

在这里插入图片描述

在这里插入图片描述

2.Apache访问控制

作用:
控制对网站资源的访问
为特定的网站目录添加访问权限
常用访问控制方式:
客户机地址限制
用户授权限制

2.1访问控制常用配置参数

<RequireALL>  ##此类写法需写在开始结束标签内
Require all granted				##允许所有主机访问
Require all denied				##拒绝所有主机访问
Require local				##仅允许本地主机访问
Require 【not】 host <主机名或域名列表>	##允许或拒绝指定主机或域名访问
Require 【not】 ip <地址或网段列表>		##允许或拒绝指定IP地址网络访问	
</RequireALL>

Order deny,allow		##设置允许和拒绝的顺序
Deny from 192.168.30.0/24		##拒绝192.168.30.0网段访问

2.2客户机地址限制操作

192.168.30.0网段主机无法访问Apache主页

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

<Directory "/usr/local/httpd/htdocs">
Order deny,allow
<RequireALL>
Require all granted
Require not ip 192.168.30.0
<RequireALL>
</Directory>

2.3用户授权限制操作

创建用户认证数据库
利用apache可执行文件htpasswd操作
在这里插入图片描述

cd /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/conf/.awspwd htuser  ##-c选项只在新建时使用,新建 .awspwd密码文件,用户自定义为htuser
New passwored:123456				##输入密码
Re-type new password:123456			##再次输入

添加用户授权配置

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>

systemctl restart httpd

3.日志分割

随着网站的访问量增加,默认清空下Apache的单个日志文件也会越来越大

  • 日志文件占用磁盘空间很大
  • 查看相关信息不方便
    对日志文件进行分割的方法
  • Apache自带rotatelogs分割工具实现
  • 第三方工具cronolog分割工具

3.1 rotatelogs工具操作

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

ErrorLog "|/usr/bin/rotatelogs -l logs/www.aa.com_error_%Y%m%d.log 86400"
## 以秒为单位,将错误日志以一天为间隔进行分隔
CustomLog "|/usr/bin/rotatelogs -l logs/www.aa.com_access_%Y%m%d.log 86400" common
##将访问日志以一天为间隔进行分隔

3.2 cronolog工具操作

先编译安装cronolog软件

tar -zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install

确认cronolog位置
在这里插入图片描述
修改配置文件

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

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

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

4.日志分析

使用AWStats第三方工具
Perl语言开发的一款开源日志分析系统
可用来分析Apache、Samba、Vsftpd、LLS等服务器的访问日志
结合crond等计划任务服务,可对日志内容定期进行分析

4.1配置日志分析

开启Apache的cgi模块

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

<IfModule !mpm_prefork_module>
        LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
        LoadModule cgi_module modules/mod_cgi.so
</IfModule>

编译安装awstats软件
并将应用文件拷贝至/usr/local目录下以awstats命名

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

设置Apache服务器域名及hosts域名解析

vi /etc/hosts
192.168.20.10 www.aa.com
vi /usr/local/httpd/conf/httpd.conf
ServerName www.aa.com

自动执行配置脚本,根据提示回复交互信息

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

交互步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改awstats程序主配置文件

vi /etc/awstats/awstats.www.aa.com.conf 

LogFile="/usr/local/httpd/logs/access_log"  ##修改日志文件位置
DirData="/var/lib/awstats"  ##建立每次抓取的数据存放位置

##手动创建抓取数据存放目录
mkdir /var/lib/awstats

**注意:**带有common格式的日志无法抓取,需清空

cd /usr/local/httpd/logs
rm -f *log

添加awstats访问权限

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

<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    Require all granted		##添加此配置
</Directory>

手动采集数据

/usr/local/awstats/tools/awstats_updateall.pl now

4.2打开软件图形化界面查看日志分析

图形化界面网址在执行配置脚本的交互结束时给出
在这里插入图片描述

打开网址
http://localhost/awstats/awstats.pl?config=www.aa.com

界面:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值