Apache网页和安全优化+实验
前言:Apache网页优化概述
■ 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
■ 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
■ 优化内容
● 配置网页压缩功能
● 配置网页缓存
● 工作模式的选择与参数优化
● 配置隐藏版本号
● 配置防盗链
● …
1、Apache网页压缩
■ 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
■ 作用
● 降低了网络传输的字节数,加快网页加载的速度
● 节省流量,改善用户的浏览体验
● gzip与搜索引擎的抓取工具有着更好的关系
■ Apache实现网页压缩的功能模块包括
● mod_gzip 模块
● mod_deflate 模块
■ Apache 1.x
● 没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩
■ Apache 2.x
● 在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip
■ mod_gzip 模块与mod_deflate 模块
● 两者均使用gzip压缩算法,运作原理类似
● mod_deflate压缩速度略快, 而mod_gzip的压缩比略高
● mod_gzip对服务器CPU的占用要高一-些
● 高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快
■ 启用网页压缩功能步骤
● 查看是否安装mod_deflate 模块
● 修改配置文件,启用压缩功能
● 访问测试
1.1、Apache网页压缩实验
1.11、配置安装环境
[aaa@qq.com ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[aaa@qq.com ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util //将安装好的依赖包进行拷贝
[aaa@qq.com ~]# yum -y install pcre pcre-devel perl expat-devel zlib-devel //yum安装依赖包
[aaa@qq.com ~]# cd httpd-2.4.29/
[aaa@qq.com httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-cgid --enable-deflate --enable-expires //配置网页缓存
[aaa@qq.com httpd-2.4.29]# make && make install
[aaa@qq.com httpd-2.4.29]# cd
[aaa@qq.com ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[aaa@qq.com ~]# vi /etc/init.d/httpd
1.12、文件路径的拷贝,进入配置文件
[aaa@qq.com ~]# ln -s /usr/local/httpd/conf/httpd.conf /etc
[aaa@qq.com ~]# ln -s /usr/local/httpd/bin/* /usr/bin
[aaa@qq.com ~]# vi /etc/httpd.conf
■ 注释掉deflate.so前面的#号,开启deflate模块
1.13、查看deflate模块是否开启,修改压缩类型文件
[aaa@qq.com ~]# systemctl start httpd
[aaa@qq.com ~]# apachectl -D DUMP_MODULES | grep deflate
deflate_module (shared) //查看deflate模块已开启
[aaa@qq.com ~]# vi /etc/httpd.conf //进入修改压缩类型,压缩方式,压缩比
1.14、访问网页,并开始抓包
2、配置网页的缓存时间
■ 通过mod_expire模块配置Apache, 使网页能在客户端浏览器缓存一段时间,以避免重复请求
■ 启用mod_expire模块后, 会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的
■ 启用网页缓存功能步骤
● 查看是否安装mod_expire模块
● 修改配置文件,启用缓存功能
● 访问测试
■ 查看是否安装了mod_expire模块
● /usr/local/apache/bin/apachectl -t -D DUMP_MODULES
● 如果输出中没有expires_module (static),则说明编译时没有安装mod_expires
■ 如果没有安装,需要重新编译安装
● ./configure --enable-expires…
● make && make install
2.1、配置网页缓存时间实验
2.11、查看模块是否开启,修改配置参数
[aaa@qq.com ~]# apachectl -D DUMP_MODULES | grep expires
[aaa@qq.com ~]# vi /etc/httpd.conf
[aaa@qq.com ~]# vi /etc/httpd.conf // 进入配置文件修改缓存时间参数
2.12、开启服务,开始抓包
[aaa@qq.com ~]# systemctl stop httpd
[aaa@qq.com ~]# systemctl start httpd
3、配置Apache隐藏版本信息
■ Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
■ 生产环境中要配置Apache隐藏版本信息
■ ServerTokens的一些可能的赋值
● ServerTokens Prod 显示"Server: Apache"
● ServerTokens Major 显示"Server: Apache/2"
● ServerTokens Minor 显示"Server: Apache/2.2 "
● ServerTokens Min显示"Server: Apache/2.2. 17"
● ServerTokens OS显示"Server: Apache/2.2.17 (Unix)"
● ServerTokens Full 显示"Server: Apache/2.2. 17 (Unix) PHP/5.3.5"
3.1、Apache隐藏版本信息实验
3.11、进入配置文件修改参数
[aaa@qq.com ~]# vi /usr/local/httpd/conf/extra/httpd-default.conf
3.12、进入配置文件,开启功能
[aaa@qq.com ~]# vi /etc/httpd.conf
3.13、开启服务,进行抓包,成功隐藏版本号
[aaa@qq.com ~]# systemctl stop httpd
[aaa@qq.com ~]# systemctl start httpd
4、配置Apache实现防盗链
■ 防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源
■ 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力
■ 作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
4.1、Apache实现防盗链实验
4.11、把资源放入站点目录下
[aaa@qq.com ~]# cd /usr/local/httpd/htdocs/
[aaa@qq.com htdocs]# rm -rf index.html
4.12、登录网页查看是否成功访问
4.13、开启第二台yum安装apache的客户机
[aaa@qq.com ~]# vi /var/www/html/index.html
4.14、登录第二台客户机查看效果
4.15、开启防盗链服务,并设置参数
[aaa@qq.com htdocs]# vi /etc/httpd.conf
4.16、重新登录第二台客户机查看效果,并抓包
推荐阅读
-
网站优化SEO中怎么使用网页h1、h2、h3和strong标签
-
优秀的网页设计对网站优化SEO和用户粘度有哪些好处
-
linux Apache服务器系统安全设置与优化第1/3页
-
【企业安全】减少技术蔓延和优化网络防御的三个步骤
-
淘宝网店网页标题优化和宝贝橱窗推荐
-
Apache网页优化(二)-------- 防盗链和隐藏版本
-
Apache优化之防盗链和隐藏版本
-
理论+实验·Apache网页优化,提升效率,添加防盗链,隐藏apache版本号
-
Web服务器群集--Apache网页深入优化(ab压力测试与优化,Apache工作模式与优化,目录属性详解与优化)
-
Apache网页与安全优化(网页压缩、网页缓存、隐藏版本信息、网页图片防盗链)