Apache网页与安全优化之--网页压缩
文章目录
- 前言:
- 一、Apache网页优化
- 1.1 网页压缩
- 1.1.1 Apcahe网页优化概述
- 1.1.2 gzip介绍
- 1.1.3 Apache的压缩模块
- 1.1.4 配置网页压缩功能
- 二、Apache网页压缩实验
- 2.1 手工编译apache
- 2.1.2 修改配置文件
- 2.1.3 验证模块
- 2.2 验证
- 总结:
前言:
Apache作为最常用的网站服务器,其在部署之后都是使用默认配置。
如今针对不同的生产环境,我们需要作出不同的优化方案,不仅要考虑Apache的稳定,更要考虑其安全性
一、Apache网页优化
1.1 网页压缩
1.1.1 Apcahe网页优化概述
在企业中,部署Apache后采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置,以前的配置以及不适合当今互联网时代
为了适应企业的需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
优化内容
配置网页压缩功能
工作模式的选择和参数优化
防盗链
隐藏版本号
…
1.1.2 gzip介绍
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户浏览器
作用
降低了网络传输的字节数,加快网页加载的速度
节省流量,改善用户的浏览体验
gzip与搜索引擎的抓取工具有着更好的关系
1.1.3 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加载速度更快
1.1.4 配置网页压缩功能
启用网页压缩功能步骤
查看是否安装mod_deflate模块
修改配置文件,启用压缩功能
抓包测试
查看是否安装mod_deflte模块
执行apache -t D DUMP_MODULES命令
如果输出中没有deflate_module(static),说明编译时没有安装mod_deflate模块
没有安装则需要重新编译安装
./configure --enable-deflate…
make && make install
在配置httpd.conf中配置开启gzip功能
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript #代表对什么样的内容启用gzip压缩
DeflateCompressionLevel #代表压缩级别
SetOutputFilter DEFLATE #代表启用deflate模块对本站点的输出进行gzip压缩
二、Apache网页压缩实验
2.1 手工编译apache
[root@localhost ~]# smbclient -L //192.168.181.1/
Enter SAMBA\root's password:
OS=[Windows 10 Education 18362] Server=[Windows 10 Education 6.3]Sharename Type Comment--------- ---- -------ADMIN$ Disk 远程管理C$ Disk 默认共享LAMP-C7 Disk ruanjianbao Disk Users Disk 安装包 Disk
...............省略部分内容
[@localhost ~]# mount.cifs //192.168.181.1/LAMP-C7 /mnt
Password for root@//192.168.181.1/LAMP-C7:
[@localhost ~]# cd /mnt
[root@localhost mnt]# ls
amoeba-mysql-binary-2.2.0.tar.gz Discuz_X2.5_SC_UTF8.zip mha.rar
apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz LNMP-C7 php-5.6.11.tar.bz2
awstats-7.6.tar.gz LNMP-C7.rar
cronolog-1.6.2-14.el7.x86_64.rpm mha
- 解压跨平台组件包和源码包
[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
[root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
...............省略部分内容
[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
...............省略部分内容
[root@localhost mnt]# cd /opt
[root@localhost opt]# ls
apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh
- 安装编译器和其他工具
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@localhost opt]#yum -y install \
gcc \ #编译器
gcc-c++ \ #编译器
make \ #make工具
pcre-devel \ #支持正则表达式的工具
expat-devel \ #使网站能够解析标签语言的工具
perl \ #perl语言工具
zlib-devel #支持压缩功能的环境包
2.1.2 修改配置文件
[root@localhost conf]# ln -s /usr/local/httpd/conf/ /etc/httpd.conf #建立软链接,便于管理
进入配置文件,开启压缩功能,确认请求头部配置项与filter 过滤器功能均已开启**(如检查没有三种功能则需要检查之前的配置并重新编译安装)**
LoadModule filter_module modules/mod_filter.so
#搜索/filter(确认101行filter中的过滤器功能开启)
LoadModule deflate_module modules/mod_deflate.so
#搜索/deflate(开启105行压缩功能)
LoadModule headers_module modules/mod_headers.so
#搜索/headers(确认112行的请求头部功能开启)
以上功能模块都确认开启后,在配置文件末尾加上如下信息
<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascrip text/jpg text/pngDeflateCompressionLevel 9SetOutputFilter DEFLATE
</IfModule>
#支持网页、javascrip图片、jpg、png图片,可添加,格式为text/文件扩展名
#DeflateCompressionLevel 9 高压缩比(减少链路带宽、流量)
#SetOutputFilter DEFLAT 让deflat作为默认的过滤器加载
修改监听端口和域名
Listen 192.168.181.173:80 #开启ipv4监听,ip地址指向本机(51行)
#Listen 80 #关闭ipv6端口监听(52行)
ServerName www.demo.com:80 #将域名修改为demo(198行)
----------》wq
[root@localhost conf]# /usr/local/httpd/bin/apachectl -t #检查语法
Syntax OK
启动服务:
[root@localhost conf]# /usr/local/httpd/bin/apachectl start #使用启动脚本的方式启动apache
[root@localhost conf]# systemctl stop firewalld.service
[root@localhost conf]# setenforce 0
#关闭防火墙和增强性安全功能
2.1.3 验证模块
- 查看站点首页
[root@localhost conf]# cd ..
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
[root@localhost httpd]# cd htdocs #httpd的站点首页在htdocs中
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# cat index.html #可以在站点首页简单修改(例如嵌入图片)
<html><body><h1>It works!</h1></body></html>
验证模块
[root@localhost htdocs]# cd /usr/local/httpd/bin/ #进入启动脚本目录bin/
[root@localhost bin]# ls
ab apr-1-config apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve
apachectl apu-1-config checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES |grep "deflate" (检查是否支持deflate功能模块)deflate_module (shared)
2.2 验证
开启一台win10虚拟机模拟客户机,安装抓包工具
使用浏览器访问地址
查看抓包工具,可见客户机默认支持压缩功能
现在我们在站点首页中添加图片:
[root@localhost /]# cd /mnt
[root@localhost mnt]# ls
amoeba-mysql-binary-2.2.0.tar.gz Discuz_X2.5_SC_UTF8.zip mha
apr-1.6.2.tar.gz dog.jpg mha.rar
apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz
awstats-7.6.tar.gz LNMP-C7 php-5.6.11.tar.bz2
cronolog-1.6.2-14.el7.x86_64.rpm LNMP-C7.rar
[root@localhost mnt]# cp dog.jpg /usr/local/httpd/htdocs/
[root@localhost mnt]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
dog.jpg index.html
[root@localhost htdocs]# vim index.html
<html><body><h1>It works!</h1>
<img src="dog.jpg"/> #在站点首页添加图片
</body></html>
--------》wq
- 再次使用客户机访问站点
- 查看抓包工具
已将图片进行了gzip压缩
总结:
我们在网页嵌入图片、视频等其他文件的时候会在传输端口的时候会做gzip压缩再传输。
本篇博客介绍了Apache网页与安全优化中的网页压缩,之后会继续介绍Apache的网页缓存、防盗链与隐藏版本的优化
Apache网页与安全优化之--网页压缩相关推荐
- Apache 网页与安全优化(网页压缩--缓存--防盗链等)
文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...
- Web服务器集群——Apache网页与安全优化
第四章 Apache网页与安全优化 一.Apache网页优化 1.网页压缩 网站访问速度影响因素:应用程序响应速度.网络带宽.服务器性能.与客户端之间网络传输速度等.其中最重要的是=一个因素是Apac ...
- 理论+实操:Apache 网页与安全优化
文章目录 一:Apache网页优化概述 1.1 优化内容 二:gzip介绍 配置apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器 作用 三:apache的压 ...
- 超级详细!!!Apache 网页与安全优化
Apache网页优化 在使用Apache作为Web服务器的过程中,只有对Apache服务器进行适当的优化配置,才能让Apache发挥出更好 的性能;反过来说,如果Apache的配置非常糟糕,Apach ...
- 移动网站性能优化:网页加载技术概览
移动网站性能优化:网页加载技术概览 2013/08/27 | 分类: IT技术 | 0 条评论 | 标签: WEB开发, 性能优化, 移动 分享到: 47 本文由 伯乐在线 - 伯乐在线读者 翻译自 ...
- 单个网页的搜索引擎优化(SEO)策略
单个网页的搜索引擎优化(SEO)策略 搜索引擎(search engine)是指根据一定的策略.运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信 ...
- html优化网站的方法,利用HTML优化加快网页速度方法介绍
减少web页面下载时间的关键就是设法减小文件大小.当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再 ...
- 构建时预渲染:网页首帧优化实践
前言 自JavaScript诞生以来,前端技术发展非常迅速.移动端白屏优化是前端界面体验的一个重要优化方向,Web 前端诞生了 SSR .CSR.预渲染等技术.在美团支付的前端技术体系里,通过预渲染提 ...
- 如何写出好的SEO标题,网页标题SEO优化的方法
用户在搜索的结果中先看到的是网页标题,它是确定网页主题是否和搜索查询相关的一个重要因素.因此,好的标题是非常重要的,可以激发用户的点击阅读兴趣,帮助搜索用户更快地了解页面内容,判断搜索结果是否和需求相 ...
- 针对SEO优化的网页摘要和结构化数据方法(微数据)
针对SEO优化的网页摘要和结构化数据方法(微数据) 关于丰富网页摘要和结构化数据 谷歌丰富摘要和结构化数据旨在让Google更了解您网页上的内容,创建丰富网页摘要,为用户具体查询提供更详尽的信息. 丰 ...
最新文章
- Linux 下 SVN 添加多个文件的方法
- CSP认证201512-3	画图[C++题解]:dfs、左下角建系、坐标反着读入
- linux shell 学习
- mysql8 修改密码_最新版本mysql8.0.18windows x64部署手册
- selinux关闭后mysql_centos下关闭selinux不重启的方法
- C# 对WinForm应用程序的App.config的使用及加密
- 一步步使SSH连接您的github仓库
- SQLite Tutorial 3 : Working with important SqLite Queries (SELECT, INSERT, DELETE, UPDATE,WHERE...)
- [ZJOI2013]防守战线
- 火到爆的扩散模型(Diffusion Model)帮你具象化幻想世界
- iOS中唯一一款不带开屏广告的日历
- 机器学习——sklearn实现决策树(隐形眼镜预测和鸢尾花分类)
- 新手如何参加信息学竞赛NOIP,怎么入门(常见问题解答)?
- [LGP2791] 幼儿园篮球题
- [JDK1.6] JAVA集合 ConcurrentHashMap源码浅析
- 解决Simplify chained comparison
- 概率语言模型 Probabilistic Language Modeling (一) --- 整体简介
- VS2010+OSG3.2+CEGUI0.8.4环境下实现简单的HelloWorld程序
- Java物联网开发(一) —— MQTT协议
- 联想服务器rd650性能,性能强劲 联想ThinkServer RD650
热门文章
- 计算机软件著作权可以同时寄多份,软件著作权可以挂几个人,最多几个作者?...
- Chrome 插件收集
- reStructuredText 表格快速生成
- NFT成为社交地位的新符号象征
- GPU运算能力对(2022.4.5更新)
- 重磅消息,Micrium的uCOS全家桶将推出免费商业授权
- μC/OS-II兼容层——让基于μC/OS-II开发的应用层无感地迁移到RT-Thread操作系统
- 51单片机引脚功能介绍
- C# Winform设置焦点
- 定量数据和定性数据_定性数据:赋予大数据意义的上下文