内容预知

1. Apache 网页的压缩

1.1 检查压缩模块

1.2   安装mod_deflate 模块

1.3 配置 mod_deflate 模块启用

1.4 检查安装情况,启动服务

1.5 测试 mod_deflate 压缩是否生效

2. Apache的网页缓存处理

3.1 检查是否安装缓存模块

3.2 重新编译安装,添加缓存模块

3.3 进行缓存模块的配置

3.4 验证模块的安装,重启服务

3.5 修改测试网页,进行访问测试

3.隐藏Apache的版本信息

3.1 修改httpd的主配置

4.Apache 防盗链

盗链实验展示

(1) 盗链主机访问被盗链主机,窃取图片网络路径

(2)盗链主机设置自己的网站 图片资源

(3)盗取后的访问测试

防盗链措施演示

(1)主配配置的修改

(2)准备一张提示盗链者的图片,放入网页根目录中

(3) 访问展示


1. Apache 网页的压缩

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

1.1 检查压缩模块

apachectl -t -D DUMP_MODULES | grep "deflate"

1.2   安装mod_deflate 模块

 如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bakyum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate
make && make install

1.3 配置 mod_deflate 模块启用

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

  --52行--修改

 --105行--取消注释

 --197行--取消注释,修改

 

--末行添加--

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
</IfModule>

1.4 检查安装情况,启动服务

[root@www htdocs]#apachectl -t
Syntax OK
[root@www htdocs]#apachectl -t -D DUMP_MODULES | grep "deflate"deflate_module (shared)
[root@www htdocs]#systemctl start httpd

1.5 测试 mod_deflate 压缩是否生效

编辑测试网页: 

cd /usr/local/httpd/htdocs
vim index.html
<html><body><h1>It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!</h1>
<img src="game.jpg"/>
</body></html>

测试:

方式一:

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他 
访问 http://192.168.80.10 ,双击200响应消息查看响应头中包含 Content-Encoding: gzip
 

方法二:
在Windows系统中依次安装 Microsoft.NET4 和fiddler 软件,打开fiddler 软件
选择 inspectors ---> 选择 Headers
浏览器访问 http://192.168.80.10 ,双击200响应消息查看是否存在 Content-Encoding: gzip 

2. Apache的网页缓存处理

 减少网络延迟,加快页面打开速度--缓存比源服务器离客户端更近,因此,从缓存请求内容比从源服务器所用时间更少,缓存的使用能够明显加快页面打开速度,达到更好的体验。

降低服务器的压力--给网络资源设定有效期之后,用户可以重复使用本地的缓存,减少对源服务器的请求,间接降低服务器的压力。同时,搜索引擎的爬虫机器人也能根据过期机制降低爬取的频率,也能有效降低服务器的压力。

减少网络带宽损耗--无论对于网站运营者或者用户,带宽都代表着金钱,当Web缓存副本被使用时,只会产生极小的网络流量,可以有效的降低运营成本。

3.1 检查是否安装缓存模块

apachectl -t -D DUMP_MODULES | grep "expires"

3.2 重新编译安装,添加缓存模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak1yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires
make && make install

3.3 进行缓存模块的配置

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

 52行和199行的监听继续取消注释,进行相关修改

 --111行--取消注释

 --末行添加--

<IfModule mod_expires.c>ExpiresActive On                                                              ExpiresDefault "access plus 60 seconds"
</IfModule>

3.4 验证模块的安装,重启服务

[root@www httpd-2.4.29]#apachectl -t[root@www httpd-2.4.29]#apachectl -t -D DUMP_MODULES | grep "expires"[root@www httpd-2.4.29]#systemctl restart httpd

3.5 修改测试网页,进行访问测试

[root@www httpd-2.4.29]#cd /usr/local/httpd/htdocs

vim index.html
<html>
<body>
<h1>
this is a game
</h1>
<img src="games.jpg"/>
</body>
</html>

 访问测试:

3.隐藏Apache的版本信息

 如果我们开启了Apache服务,那么他人就可以通过F12找到你的Apache版本号,从而利用一些已知的漏洞或者零day漏洞来进行攻击,这是非常危险的。所以为了减少一点――哪怕是一点点的风险,我们最好选择隐藏Apache的版本信息。

3.1 修改httpd的主配置

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

 --491行--取消注释

vim /usr/local/httpd/conf/extra/httpd-default.conf

 --55行--修改

 重启服务,测试访问:

如果页面信息没有刷新成功。可以尝试先清空历史记录中的所有信息,再进行访问

4.Apache 防盗链

 互联网时代,网站最为关心的问题就是用户访问量。而吸引用户的往往就是新颖的标题,图片及其内容,而承载着这些,需要占用服务器的资源。而有些缺德企业会将自己网站中图片重定向到你的网站上,读取你的图片,占用着你的带宽,服务器资源,但访问量却被它所占据。

所以apache防盗链的设置很有必要。

盗链实验展示

本实验中我准备了两台虚拟机,一台是源码编译安装apche服务的主机,作为被盗链的主机,域名设置为www.test.com      另一台为yum安装apache服务的主机,作为盗链的主机,域名设置为www.test1.com

(1) 盗链主机访问被盗链主机,窃取图片网络路径

(2)盗链主机设置自己的网站 图片资源

(3)盗取后的访问测试

注意:本次测试访问的是盗链的主机,探究图片的来源 

防盗链措施演示

(1)主配配置的修改

 因为本机源码编译时,已经下载了相关模块,所以直接修改配置。如果没有下载相关的模块,还要进行下载配置。

下载配置方法:

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak2yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \                  #加入mod_rewrite 模块
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expiresmake && make install

修改主配置:

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

--157行--取消注释 

 --224行--进行配置添加

RewriteCond %{HTTP_REFERER} !^http://www.test.com/.*$ [NC]  的字段含义:
“%{HTTP_REFERER}” :存放一个链接的 URL,表示从哪个链接中转访问目录下的静态资源。
“!^” :表示不以后面的字符串开头。
“http://www.test.com” :是本网站的路径,按整个字符串匹配。
“.*$” :表示以任意字符结尾。
“[NC]” :表示不区分大小写字母。

RewriteRule .*\.(gif|jpg|swf)$ http://www.test.com/error.png  的字段含义:
“.” :表示匹配一个字符。
“*” :表示匹配 0 到多个字符,与“.”合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用“+”表示。
“\.” :在这里的“\”是转义符,“\.”就代表符号“.”的意思。因为“.”在指令中是属于规则字符,有相应的含义, 如果需要匹配,需要在前面加个转义符“\”,其它规则字符如果需要匹配,也做同样处理。
“(gif|jpg|swf)” :表示匹配“gif”、“jpg”、“swf”任意一个,“$”表示结束。最后的规则是以“.gif”、“.jpg”、“.swf”结尾, 前面是1到多个字符的字符串,也就是匹配图片类型的文件。
“http://www.test.com/error.png” :表示转发到这个路径 。

 

(2)准备一张提示盗链者的图片,放入网页根目录中

(3) 访问展示 

 访问被盗链主机网页:

 访问盗链主机网页:

Apache网页的优化,安全与防盗链相关推荐

  1. Apache网页深入优化之ab压力测试、工作模式与目录属性优化

    ab压力测试工具 Apache自带压力测试工具ab,简单易用,且可以模拟各种条件对Web服务器发起测试请求.ab工具可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为 ...

  2. Web服务器集群——Apache网页与安全优化

    第四章 Apache网页与安全优化 一.Apache网页优化 1.网页压缩 网站访问速度影响因素:应用程序响应速度.网络带宽.服务器性能.与客户端之间网络传输速度等.其中最重要的是=一个因素是Apac ...

  3. 【Web服务器】Apache网页优化

    文章目录 一.Apache网页优化概述 1.优化内容 2.网页压缩 2.1gzip概述 2.2作用 2.3Apache的压缩模块 概述 mod_gzip模块与mod_deflate模块 3.配置网页压 ...

  4. Nginx优化与防盗链

    Nginx优化与防盗链 一.隐藏nginx版本号 1.1查看版本号 1.2隐藏版本信息 二.修改用户与组 三.缓存时间 四.日志分割 五.连接超时 六.更改进程数 七.配置网页压缩 八.配置防盗链 8 ...

  5. PHP预防重复http协议,PHP HTTP协议:防盗链

    test.html:主界面 test 查看图片 import.php:通过主页面进入的主机下的页面 //获取Referer if(isset($_SERVER['HTTP_REFERER'])) { ...

  6. Apache 网页与安全优化(网页压缩--缓存--防盗链等)

    文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...

  7. Apache网页优化 ---配置防盗链

    防盗链概述 防盗链就是防止别人的网站代码里面盗用服务器的图片文件.视频等相关资源.如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力.所以作为网站的维护人员,要杜绝我们服务器的静态资源被其 ...

  8. Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!

    呕心沥血书写,看完后对Nginx了如执掌,不看真的后悔!! shell脚本日志分割 设置连接超时 Nginx深入优化 更改进程数 配置网页压缩 配置防盗链 20.0.0.25 主机:开始盗链 20.0 ...

  9. centos 7.6 —— Nginx 配置网页防盗链FPM参数优化

    centos 7.6 -- Nginx 配置网页防盗链&&FPM参数优化 一.网页防盗链 (1)防盗链端--服务端配置(192.168.75.134) 1.1 服务端配置DNS服务,域 ...

最新文章

  1. python杨辉三角居中_python打印杨辉三角的两种方法及详解
  2. Python 报错解决:AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
  3. python基础-------迭代器,生成器,协程函数
  4. python中局部变量和全局变量
  5. 山重水复疑无路,柳暗花明又一村
  6. Java培训教程之JDBC URL结构分析
  7. 「SVN」ubuntu svn自动忽略了.a.so等文件
  8. C# 重写WndProc 消息循环
  9. c++代码转为go_Go语言学习笔记六--string编码
  10. Java中HashMap和TreeMap的区别深入理解,java开发面试笔试题
  11. 实现IMSI、IMEI查询
  12. 2022 HTML + CSS面试题,美女吐血整理
  13. 等腰三角形悬臂梁式光纤光栅振动传感器分析
  14. python学习教程34-Excel生成折线图
  15. maxscript rollout
  16. 链路聚合-负载分担方式
  17. pandas 用均值填充缺失值NaN —— fillna 方法解析
  18. 多线程核心8-3:线程三大安全问题之发布与逸出
  19. XTU OJ 1375 Fibonacci
  20. umijs配置eslint,prettier,stylelint,commitlint

热门文章

  1. dataTaDataTable 详细教程
  2. YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
  3. 穿越火线登录上去一直连接服务器,Windows7登录CF时提示连接服务器失败的解决方法...
  4. linux6.8 添加字体,linux CentOS7 安装字体库-转
  5. 解决Debian网速慢问题(Ubuntu、Linux Mint等衍生版)
  6. (4.6.29.3)插件化之代码加载:启动Activity等四大组件之hook方式
  7. 编译移植龙芯2K1000平台下的qt-5.13
  8. 认知水平越低的人,越喜欢回复“收到”
  9. vb.net 教程 4-7 文本文件编码 2
  10. 苹果闪照如何第二次查看_六款苹果已购游戏共享【博德之门1+2】【战地霸主+搏击长空】【阿尔托的冒险+奥德赛】IOS帐号分享...