Apache——网页优化

一、Apache网页优化概述

1.概述

1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已不适用当今的互联网时代
2.为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容

2.优化内容

配置网页压缩功能
配置网页缓存
工作模式的选择与参数优化
配置隐藏版本号
配置防盗链
…

二.gzip介绍

1.介绍

配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器

2.作用:

降低了网络传输的字节数,加快网页加载的速度
节省流量,改善用户的浏览体验
gzip与搜索引擎的抓取工具具有更好的关系

三.Apache的压缩模块

1.Apache实现网页压缩的功能模块包括:

mod_gzip模块
mod_deflate模块——系统资源占用率较低

2.Apache 1.x

没有内建网页压缩技术,但可使用第三方mod_gzip 模块执行压缩

3.Apache 2.x

在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip

4.mod_gzip 模块与mod_deflate 模块

1.两者均使用gzip压缩算法,运作原理类似
2.mod_deflate压缩速度略快,而mod_gzip的压缩比略高
3.mod_gzip对服务器CPU的占用要高一些
4.高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快

四.配置网页压缩功能

1.命令详解

1.将三个源码文件添加到/opt目录下,并查看

  [] ls
  apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2

2.解压

 [] tar zxvf apr-1.6.2.tar.gz
 [] tar zxvf apr-util-1.6.0.tar.gz
 [] tar jxvf httpd-2.4.29.tar.bz2
 [] mv apr-1.6.2 httpd-2.4.29/srclib/apr
 [] mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

3.安装编译器和其他工具

yum -y install \
> gcc \
> gcc-c++ \
> make \                //gcc、gcc-c++、make为编译工具
> pcre-devel \        //支持正则表达式的工具
> expat-devel \      //使网站能解析xml标记语言的工具
> perl \                    //perl语言工具
> zlib-devel           //压缩工具,做网页缓存必须有

4.configure配置

 cd httpd-2.4.29/
 ./configure \
> --prefix=/usr/local/httpd \		//指定路径
> --enable-so \				  	   //开启核心功能模块(Web服务)
> --enable-rewrite \			        //开启重写功能,如防盗链保护
> --enable-charset-lite \			//字符集设定
> --enable-cgi \               //开启通用网关接口,它定义了web服务器运行时外部程序的规范
> --enable-deflate            //增加压缩模块

5.make编译和make install安装

   make && make install

6.配置启动脚本

 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd	 //将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd
 cd /etc/init.d/
 ls
 functions  httpd  netconsole  network  README
 vim httpd 
在行首插入下两行内容
#chkconfig: 35 85 21      
#description: Apache is a World Wide Web server   

 chkconfig --add httpd   //将httpd加入到service管理器

7.编辑配置文件

 vim /usr/local/httpd/conf/httpd.conf 

 Listen 192.168.25.11:80   //设置ipv4监听地址和端口
 #Listen 80                 //将ipv6格式的监听端口注释掉

 ServerName www.aa.com   //设置域名地址

8.设置配置文件的软链接和httpd命令的软链接

ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf  
 //设置配置文件的软链接,便于修改(原文件位置太长了)
ln -s /usr/local/httpd/bin/* /usr/local/bin/   
 //设置httpd命令的软链接
 apachectl -t    //检查语法是否错误
 Syntax OK

9.开启apache服务

iptables -F      //清空防火墙规则
setenforce 0   //关闭核心防护
systemctl restart httpd   //利用service启动apache服务
netstat -napt |grep 80  //查看httpd 80端口,开启成功

10.检查是否安装了mod_deflate模块

apachectl -D DUMP_MODULES | grep "deflate"

11.配置mod_deflate模块启动

 vi /usr/local/httpd/conf/httpd.conf
LoadModule deflate_module/mod_deflate.so     //删除注释,启用mod_deflate模块
.在文件末尾加入以下内容
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9         //9代表压缩等级
SetOutputFilter DEFLATE

 apachectl -t

12.验证重启

 apachectl -D DUMP_MODULES | grep "deflate"
 systemctl restart httpd
 浏览器舒输入IP地址,使用浏览器抓包工具即可验证。

五.网页缓存

通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率    和次数,达到减少不必要的流量和增加访问速度的目的

1.配置网页缓存

1.新增模块,编译安装

apachectl -D DUMP_MODULES | grep "expires"
cd /opt/httpd-2.4.29/
./configure --enable-expires
make && make install

2.修改配置文件

 vi /etc/httpd.conf
LoadModule expires_module modules/mod_expires.so        //删除注释,启用mod_deflate模块

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"      //设置http协议下任意格式的文档均60秒后过期,可以自行修改
</IfModule>
配置完之后重启apache生效

六、Apache安全优化

1.隐藏版本信息

 作用:一般情况下,软件的漏洞信息和特定的版本是相关的,因此,软件的版本号对攻击者来说是很有价值的,所以我们隐藏Apache的版本号,减少受攻击风险,保护服务器安全运行

配置隐藏版本信息

vi /etc/httpd.conf
Include conf/extra/httpd-default.conf    //删除注释

vi /usr/local/httpd/conf/extra/httpd-default.conf
ServerTokens Prod            //把Full改成Prod
ServerSignature Off          //关闭

systemctl restart apache    //重启apache
使用浏览器输入Apache服务器的IP,并使用抓包工具验证。

2.防盗链

配置步骤

 vi /var/www/html/index.html
<html><body>this is test web<img src="http://192.168.235.143/dlz.png"/></body></htmll>  

使用测试主机访问192.168.235.143,就可以访问到网页,但是这是个盗链网站,访问此站点的同时既盗取了他人源网站的资源,有奖流量导回了源网站,从而造成了他人服务器的负载
在这里插入图片描述

 apachectl -D DUMP_MODULES | grep "rewrite"
 cd /opt/httpd-2.4.29/
 ./configure --enable-rewrite       //开启重写功能,防盗链保护  
 make && make install    //编译安装

修改配置文件
vi /etc/httpd.conf
LoadModule rewrite_module module/mod_rewrite.so        //删除注释
AllowOverride All                                      //None改为All
RewriteEngine On
RewriteCond %{HTTP_REFERED} !^192.168.235.143/.*$ [NC]
RewriteCond %{HTTP_REFERED} !^192.168.235.143$ [NC]
RewriteCond %{HTTP_REFERED} !^192.168.235.143/*$ [NC]
RewriteCond %{HTTP_REFERED} !^192.168.235.143/$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ 192.168.235.143/error.png [R,NC]

将报错图片放入站点目录
cp /abc/error.png /usr/local/httpd/htdocs/
重启服务

使用测试主机再次访问192.168.235.143的网页,便会跳出另外一张图片,防盗链配置成功!

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值