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加载速度更快

启用网页压缩功能步骤

环境(网页压缩实例)

一台Linux服务器(192.168.13.128)
一台win10测试机

1,远程共享挂载到Linux上

1)在Windows上将LAMP所需压缩软件包共享出来(此处如有问题请看之前的博客相关文章)

2)在Linux上使用远程共享获取文件并挂载到/abc目录下

[[email protected] httpd]# mkdir /abc ##创建挂载点/abc
[email protected] ~]# smbclient -L //192.168.100.3/
Sharename Type Comment


    LAMP-C7         Disk      

[[email protected] ~]# mount.cifs //192.168.100.3/LAMP-C7 /mnt
##远程挂载软件包到/mnt目录

2,手工编译安装Apache

1)将源码包解压到/opt目录下

[[email protected] mnt]# cd /mnt   ##切换到/mnt目录下
[[email protected] mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt/    ##解压源码包到/opt下
...
[[email protected] mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
....
[[email protected] mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
...
[[email protected] mnt]# cd /opt                        //进入/opt目录
[[email protected] opt]# ls                             //查看解压的文件
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh

2)将apr组件包移动到http中并安装编译工具

[[email protected] opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[[email protected] opt]#  mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[[email protected] opt]# yum -y install gcc \                                       //c语言
gcc-c++ \                        //c++语言
make \                              //编译工具
pcre-devel \                     //pcre语言工具
expat-devel \                   //识别标签性语言工具
perl pcre zlib-devel                       //数据压缩用的函式库

3)配置安装目录及各种模块

[[email protected] opt]# cd /opt/httpd-2.4.29/
[[email protected] httpd-2.4.29]#./configure \                      //配置
--prefix=/usr/local/httpd \
--enable-deflate \  //配置压缩模块
--enable-expires \  //配置缓存模块(下一个缓存实验需要)
--enable-so \      //apache核心模块开启
--enable-rewrite \    //开启重写功能,防盗链
--enable-charset-lite \  //支持字符集,简体中文
--enable-cgi   //通用网关接口
... 

4)编译和安装

[[email protected] httpd-2.4.29]# make              //生成可执行的二进制文件
...
[[email protected] httpd-2.4.29]# make install  //复制二进制文件到系统,配置应用环境
...

5)配置http主配置文件

[[email protected] httpd-2.4.29]#  cd /usr/local/httpd/
[[email protected] httpd]# ls
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual
[[email protected] httpd]# cd conf/             ##切换到http主配置文件中
[[email protected] conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf   ##方便管理创建软连接

##为方便操作覆盖原启动脚本,并添加到service管理器中
[[email protected] conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd                       //复制apache启动脚本覆盖httpd原始的启动脚本
[[email protected] conf]# vim /etc/init.d/httpd
#!/bin/sh
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server            //在#!/bin/sh下行插入这两行内容
[[email protected] conf]# chkconfig --add httpd         //将httpd加入到SERVICE管理器中

[[email protected] conf]# vim /etc/httpd.conf  ##配置主配置文件

Listen 192.168.13.128:80  ##设置监听地址
#Listen 80

ServerName www.kgc.com:80  ##设置域名

LoadModule deflate_module modules/mod_deflate.so  ##启用压缩模块
LoadModule headers_module modules/mod_headers.so   ##启用头部模块

##大G到末行添加一下内容
LoadModule filter_module modules/mod_filter.so
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml test/java
script text/jpg text/png    ##支持压缩类型
    DeflateCompressionLevel 9   ##高压缩比
    SetOutputFilter DEFLATE      ##默认过滤器加载
</IfModule>
[[email protected] conf]# service httpd start ##重启服务
[[email protected] conf]# systemctl stop firewalld.service
[[email protected] conf]# setenforce 0
[[email protected] conf]# cd /usr/local/httpd/bin/      ##查看deflate模块启动状态
[[email protected] bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate"
 deflate_module (shared)

6)切换到站点,编辑网页内容

[[email protected] conf]# cd ..
[[email protected] httpd]# pwd
/usr/local/httpd
[[email protected] httpd]# cd htdocs/
[[email protected] htdocs]# ls
index.html
[[email protected] htdocs]# cat index.html
<html><body><h1>It works!</h1></body></html>

3,在win10中安装fiddler抓包工具

4,编辑网页,添加一个图片

1)切换到你的共享挂载点,将图片复制到站点中

[[email protected] htdocs# cd /mnt   ##切换到挂载点
[[email protected] mnt]# cp kali.jpg /usr/local/httpd/htdocs/    ##将图片复制到站点中
[[email protected] mnt]# cd /usr/local/httpd/htdocs/
[[email protected] htdocs]# ls     ##查看图片复制成功
index.html  kali.jpg

2)编辑站点的首页内容

[[email protected] ~]# cd /usr/local/httpd/
[[email protected] httpd]# cd htdocs/      ##切换到站点
[[email protected] htdocs]# ls
index.html  kali.jpg
[[email protected] htdocs]# vim index.html     ##编辑网页内容,将图片加入到网页中

<html><body><h1>It works!</h1>
<img src="kali.jpg"/>         ##将图片放到网页中
</body></html>

5,测试网页,查看抓包信息


配置网页的缓存时间

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

启用网页缓存功能步骤

环境

编译安装和前部分是一样的,配置加上了缓存模块,以下为配置缓存模块操作

1,配置主配置文件,开启缓存模块

[[email protected] httpd-2.4.29]# vim /etc/http.conf

LoadModule expires_module modules/mod_expires.so    ##开启缓存模块

<IfModule mod_expires.c>      ##大G末行添加配置文件
    ExpiresActive On
    ExpiresDefault "access plus 50 seconds"
</IfModule>

2,启动Apachectl,关闭防火墙并重启服务

[[email protected] httpd-2.4.29]# cd /usr/local/httpd/bin   ##测试语法是否有错误
[[email protected] bin]# ./apachectl -t
[[email protected] bin]# ./apachectl start   ##开启
[[email protected] bin]# systemctl stop firewalld.service    ##关闭防火墙
[[email protected] bin]# setenforce 0
[[email protected] bin]# ./apachectl -t -D DUMP_MODULES | grep "expires" ##查看模块开启状态
 expires_module (shared)

3,重新用测试机访问网页,测试抓包

谢谢阅读!!!

原文地址:https://blog.51cto.com/14080162/2445550

时间: 2024-11-08 20:40:22

Apache网页与安全优化——网页压缩及缓存(理论实践相结合!)的相关文章

Apache网页优化之压缩与缓存

Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容 gzip介绍 ■配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器■作用●降低了网络传输的字节数,加快网页加载的速度●节省流量,改善用户的浏览体验●gzip与搜索引擎的抓取工具有着更好的

Apache网页与安全优化——防盗链和隐藏版本(理论实践相结合!)

Apache防盗链 防盗链就是防止别人的网站代码里面盗用服务器的图片,文件,视频等相关资源 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力 所有作为网站的维护人员,是要杜绝我们服务器的静态资源被其他网站盗用 配置规则变量说明 * %{HTTP_REFERER}:浏览header中的链接字段,存放一个链接的URL, 代表是从哪个链接访问所需的网页 * !^:不以后面的字符串开头 * .*$:以任意字符结尾 * NC:不区分大写 * R:强制跳转 规则匹配说明 RewriteEngi

apache网页优化之压缩功能和缓存时间

Apache网页优化 优化概述 压缩功能优化 配置Apache的网页压缩功能,是使用gzip压缩算法对网页内容进行压缩后再传输到客户端浏览器 先把宿主机的共享目录共享到Linux下 [[email protected] ~]# smbclient -L //192.168.100.23/ #访问宿主机的共享文件 Enter SAMBA\root's password: OS=[Windows 10 Enterprise 17763] Server=[Windows 10 Enterprise 6

Apache网页优化—网页压缩

Apache网页与安全优化 Apache网页优化 1.网页压缩2.网页缓存 Apache安全优化 1.配置防盗链2.隐藏版本信息 Apache网页优化概述 1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 2.为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容 3.优化内容 配置网页压缩功能工作模式的选择与参数优化配置防盗链配置隐藏版本号 gzip介绍

Apache的压缩与缓存-----网页优化

一.Apache网页的压缩 定义:对apache服务器发布的网页内容进行压缩后再发送到客户端的浏览器.减少了网络传输用时,也加快了网页加载的速度. mod_gzip 模块与mod_deflate 模块 1.两者均使用gzip压缩算法,运作原理类似2.mod_deflate 压缩速度略快,而mod_gzip 的压缩比略高3.mod_gzip 对服务器CPU的占用要高- -些4.高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快 实验走起 1.代码步骤如下: [[em

网页性能智能优化——Apache扩展mod_pagespeed

本文主要介绍出自谷歌公司的Apache扩展模块mod_pagespeed.该模块的目标是提高网页的加载速度.具体的实现方法主要是通过优化html代码.css代码.js代码.缩放图片来减少请求数量.请求流量,从而提高网页的加载速度. ? 我们首先展示一下插件的效果.下图是还没有开启mod_pagespeed模块的情况. 在这种情况下,页面中充斥着大量空格,以及很长的变量名称和函数名称.其实对于正式运行的系统来说这些空格和名称都是一种浪费.而且将网页的源代码暴露在外,对于安全性要求比较高的网站,这种

The server of Apache (三)——网页与安全优化

在企业中,部署apache后只采用默认的配置参数,会有很多问题,因为那些配置都是针对以前服务器配置的. 一.网页压缩 1.介绍 配置apache的网页压缩功能,是使用Gzip压缩算法来对apache服务器发布的网页内容进行压缩后再传输到客户端浏览器,这样做,降低了网络传输的字节数,加快网页的加载速度,节省流量,改善用户体验,并且使用gzip与搜索引擎的抓取工具有着更好的关系. 能实现压缩功能的模块有mod_gzip模块和mod_deflate模块. Apache1.x系列没有内建网页压缩技术,但

详述Linux系统中Apache网页与安全优化(二)

网页缓存 配置网页的缓存时间 通过mod_ expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求 启用mod_ expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的 启用网页缓存功能步骤 查看是否安装mod_ expire模块 修改配置文件启用缓存功能 抓包测试 查看是否安装了mod_ expire模块 /usr/local/apache/bin/

优化网页速度的7种方法

为什么网站优化要把网页静态化? SEO优化过程中,把动态网页转化为静态页面是许多SEO优化人员常常做的事情,面对这种SEO优化操作的行为很多人可能有疑问,那就是为什么网站优化要把网页静态化?下面就给大家详细的介绍一下关于网页静态化的一些问题. 什么是动态页面?什么是静态页面? 动态网页:是以.asp..jsp..php..perl..cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”.动态页面是以ASP.PHP.JSP.Perl.或CGI等编程语言制作的,用上面两个指标基本上可