●在企业中,部署Apache后采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
●为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
gzip介绍
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
作用
Apache实现网页压缩的功能模块包括
mod_gzip模块
Mod_deflate模块
Apache 1.x
没有内建网页压缩技术,但可使用第三方mod_gzip模块执行压缩
Apache 2.x
在开发的时候,内建了mod_deflate这个模块,取代mod_gzip
启用网页压缩功能步骤:
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
设置对什么样的内容启用gzip压缩
DeflateCompressionLevel
压缩级别
SetOutputFilter DEFLATE
启用deflate模块对本站点的输出进行gzip压缩
1.在安装服务前先将服务所需要的包利用xftp工具放到CRT软件中,如果用xhell登录的话不用apr的工具包可以实现跨平台应用(需要先装)
2.清空防火墙规则,关闭防护功能,防止出错
[root@localhost opt]# iptables -F ##关闭防火墙功能
[root@localhost opt]# setenforce 0 ##关闭防护功能
3.将apr的两个包和httpd的包进行解压
[root@localhost apache]# tar zxvf apr-1.6.2.tar.gz
[root@localhost apache]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost apache]# tar jxvf httpd-2.4.29.tar.bz2 ##这是bz格式的包,要用jxvf进行解压
4.解压完后后,将apr的工具包放到httpd的源码包中支持功能
[root@localhost apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
5.因为是手工编译安装,那我们就需要安装一些环境包;gcc gcc-c++ make pcre-devel(支持正则表达式) expat-devel(支持解析xmail文件) perl(perl语言) zlib-devel压缩包
[root@localhost apache]# yum -y install gcc gcc-c++ make pcre-devel expat-devel Perl zlib-devel
[root@localhost httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-deflate \ ##开启压缩功能
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
[root@promote httpd-2.4.29]# make
[root@promote httpd-2.4.29]# make install
7.建立一个文件的软链接,方便管理
[root@promote httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
8.编辑apache的配置文件
[root@promote ~]# vim /etc/httpd.conf
在末尾添加以下信息
9.验证语法是否成功
10.启动服务
[root@promote ~]# /usr/local/httpd/bin/httpd ##启动服务,检查端口是否开启
验证模块有没有开启
[root@promote bin]# ./apachectl -t -D DUMP_MODULES |grep “deflate”
12.用xftp将图片文件放到/usr/local/httpd/htdocs目录下
13.插入指明图片路径
[root@promote htdocs]# vim index.html
14.回到win10系统中将工具进行安装
15.在win10系统中输入地址会显示图片文字信息,并且抓包软件可以抓到来访信息
16.通过抓包软件也可以查看到内容是经过gzip格式压缩的
●通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
●启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
1.查看是否安装mod_expire模块
2.修改配置文件启用缓存功能
3.抓包测试
● /usr/local/apache/bin/apachectl -t -D DUMP_MODULES
● 如果输出中没有expires_module(static),则说明编译时没有安装mod_expires
若没有安装则需要重新编译安装
启用mod_expires模块,并设置http协议下任意格式的文档均60秒后过期
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</IfModule>
重启httpd服务
1编译安装apache,指明路径,多了一个expires功能
[root@localhost httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-deflate \
--enable-expires \ ##多了一个expires功能
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
2.编译安装
[root@localhost httpd-2.4.29]# make && make install
3.编辑apache服务配置文件,开启expires认证模块
4.在底行添加功能
5.启动服务,查看服务端口有没有起
[root@promote bin]# ./apachectl
[root@promote bin]# ./apachectl -t -D DUMP_MODULES |grep "expires"
7.回到win10情况缓存记录,再次访问192.168.148.135网页,用抓包软件可以显示缓存时间
●防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片,文件,视频等相关资源
●如果别人盗用网站的这些静态资源,明显的是增大服务器的带宽压力
●作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
盗链模拟步骤
1.两台主机配置测试页面
2.盗链网站的测试页面,盗用源主机网站目录下的一个log.jpg文件
3.在windows中访问
●/usr/local/apache/bin/apachectl -t -D DUMP_MODULES
●如果输出中没有rewrite_module(static),则说明编译没有安装mod_rewrite模块
如果没有安装,需要重新编译安装
规则匹配说明
规则匹配
实验环境
1.环境配置同之前的网页缓存
2.之前的win10作为盗链客户端
3.添加一台centos7虚拟机作为盗链虚拟机
推荐步骤
1.先将作为官方网站的虚拟机环境搭好,先配置域名
[root@localhost ~]# yum -y install bind
修改主配置文件
修改区域配置文件
[root@localhost named]# cp -p named.localhost test.com.zone
修改区域数据配置文件
[root@localhost named]# systemctl start named ##启动DNS服务
2.回到win10系统虚拟机上验证DNS
3.这台做官网的虚拟机因为之前已经手动编译过apache了,所以这边不需要编译了,修改下监听地址,和域名
4.启动服务,并到win10虚拟机查看是否能够访问网站
配置盗链网站虚拟机:
1.直接用yum安装apache服务
[root@localhost ~]# yum -y install httpd
2.修改配置文件,修改监听地址
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
3.配置盗链主机的导航页内容
[root@localhost html]# vim index.html
4.配置让135地址帮忙解析
[root@localhost html]# echo "nameserver 192.168.148.135" > /etc/resolv.conf
5.到win10虚拟机中输入盗链网址发现盗链成功
配置防盗链,在官网虚拟机中配置防盗链
1.开启rewrite模块
2.配置防盗链功能
3.用xftp软件将error图片放入htdocs目录下
4.重启apache服务
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
5.回到win10虚拟机中查看发现图片内容变了
●Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
●生成环境中要配置apache隐藏版本信息
●将主配置Apache隐藏版本信息
●将主配置文件httpd.conf以下行注释掉
●修改httpd-default.conf文件
●重启httpd服务,访问验证
隐藏版本号信息实验
1.这时访问www.test.com用抓包软件查看发现是有版本信息的
2.修改apache配置文件开启功能
3.配置apache隐藏版本信息
4.修改httpd-default.conf的文件
[root@localhost extra]# vim httpd-default.conf
5.重启apache服务
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
回到win10系统发现版本信息被隐藏了