Apache网页与安全优化之--网页缓存(内涵实验)
程序员文章站
2022-03-15 23:37:38
...
前言:
- Apache 的mod_expries 模块会自动生成页面头部信息中的 Express标签和 Cache-Control 标签。
- 客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要再次向服务器发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
一、配置网页缓存
1.1 环境配置
- 挂载共享文件、解压到/opt/目录中
[@localhost ~]# mount.cifs //192.168.181.1/LAMP-C7 /mnt
Password for aaa@qq.com//192.168.181.1/LAMP-C7:
[@localhost ~]# cd /mnt
[aaa@qq.com mnt]# ls
amoeba-mysql-binary-2.2.0.tar.gz Discuz_X2.5_SC_UTF8.zip mha.rar
apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz LNMP-C7 php-5.6.11.tar.bz2
awstats-7.6.tar.gz LNMP-C7.rar
cronolog-1.6.2-14.el7.x86_64.rpm mha
- 解压跨平台组件包和源码包
[aaa@qq.com mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
[aaa@qq.com mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
...............省略部分内容
[aaa@qq.com mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
...............省略部分内容
[aaa@qq.com mnt]# cd /opt
[aaa@qq.com opt]# ls
apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh
[aaa@qq.com opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[aaa@qq.com opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
- 安装编译工具
[aaa@qq.com opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre-devel \
> zlib-devel \
> expat-devel \
> pcre \
> perl
...........省略部分内容
- 配置编译
[aaa@qq.com opt]# cd /opt/httpd-2.4.29/
[aaa@qq.com httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-deflate \
--enable-expires \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
........省略部分内容
[aaa@qq.com httpd-2.4.29]# make #生产可执行的二进制文件
........省略部分内容
[aaa@qq.com httpd-2.4.29]# make install #复制二进制文件到系统,配置应用环境
........省略部分内容
1.2 修改配置文件
启用网页缓存功能的步骤:
- 创建软链接、便于管理
[aaa@qq.com httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
- 修改配置文件
Listen 192.168.181.173:80 #开启ipv4监听,ip地址指向本机(51行)
#Listen 80 #关闭ipv6端口监听(52行)
ServerName www.demo02.com:80 #修改域名(198行)
LoadModule expires_module modules/mod_expires.so
#启用expires模块(111行)
#跳转到末行添加以下内容
<IfModule mod_expires.c> #对expires模块进行配置
ExpiresActive On #开启功能
ExpiresDefault "access plus 50 seconds" #设置缓存时间为50秒
</IfModule>
-------wq
- 检查语法
[aaa@qq.com httpd-2.4.29]# cd /usr/local/httpd/bin/
[aaa@qq.com bin]# ./apachectl -t
Syntax OK
- 开启Apache服务、关闭防火墙和增强性安全功能
[aaa@qq.com bin]# ./apachectl start
[aaa@qq.com bin]# netstat -natp | grep 80
tcp 0 0 192.168.181.129:80 0.0.0.0:* LISTEN 46246/httpd
[aaa@qq.com bin]# systemctl stop firewalld.service
[aaa@qq.com bin]# setenforce 0
[aaa@qq.com bin]# ./apachectl -t -D DUMP_MOOULES | grep "expire" #查看expire模块是否启用
Syntax OK
二、验证
2.1 使用抓包工具验证缓存设置
- 开启一台win10虚拟机(已安装抓包工具)
-
访问站点、查看抓包工具
首次访问与之后的刷新访问都有缓存时间信息,此时我们可以随时在配置文件中修改expires模块即可更新缓存时间。
总结:
网页缓存比较的简单,之后会继续介绍Apache网页与安全优化中的防盗链和隐藏版本。