Apache网页与安全优化
Apache网页与安全优化
Apache网页优化概述
■ 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
■ 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
■ 优化内容
● 配置网页压缩功能
● 配置网页缓存
● 工作模式的选择与参数优化
● 配置隐藏版本号
● 配置防盗链
● …
gzip介绍
■ 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
■ 作用
● 降低了网络传输的字节数,加快网页加载的速度
● 节省流量,改善用户的浏览体验
● gzip与搜索引擎的抓取工具有着更好的关系
Apache的压缩模块
■ 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 模块
● 修改配置文件,启用压缩功能
● 访问测试
配置网页的缓存时间
■ 通过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
配置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"
配置Apache实现防盗链
■ 防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源
■ 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力
■ 作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
网页优化步骤
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util //将安装好的依赖包进行拷贝
yum -y install pcre pcre-devel perl expat-devel zlib-devel //yum安装依赖包
cd httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-cgid --enable-deflate --enable-expires //配置网页缓存
make && make install
cd
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
打开35口
//httpd
chkconfig --level 35 httpd on
chkconfig --list
ln -s /usr/local/httpd/conf/httpd.conf /etc
ln -s /usr/local/httpd/bin/* /usr/bin
vi /etc/httpd.conf
开启deflate模块
systemctl start httpd
apachectl -D DUMP_MODULES | grep deflate
deflate_module (shared) //查看deflate模块已开启
vi /etc/httpd.conf //进入修改压缩类型,压缩方式,压缩比
进行抓包查看
配置网页缓存时间
开启模块
apachectl -D DUMP_MODULES | grep expires
vi /etc/httpd.conf
LoadModule expires_module modules/mod_expires. so //删除#
进入配置文件修改缓存时间参数
vi /etc/httpd.conf
开启服务
systemctl stop httpd
systemctl start httpd
抓包查看
设置防盗链
将资源放入/usr/local/httpd/htdocs路径下
cd /usr/local/httpd/htdocs/
rm -rf index.html