目录

  • 一、Apache网页优化
    • 1、网页压缩
      • 1>gzip压缩
      • 2>Apache的压缩模块
        • mod_gzip模块与mod_deflate模块
      • 3>配置压缩功能步骤
      • 4>实验:
    • 2、网页缓存
      • 1>配置网页缓存时间
      • 2>配置步骤
      • 3>实验:
  • 二、Apache安全优化
    • 1、隐藏版本信息
      • 1>实验:
    • 2、配置防盗链
      • 1>作用:
      • 2>模拟步骤:
      • 3>配置规则变量说明
      • 4>配置匹配说明及匹配规则
      • 5>实验:

一、Apache网页优化

1、网页压缩

1>gzip压缩

  • 对网页内容进行压缩后在传输到客户端浏览器
  • 作用:
    降低网络传输的字节数,加快网页加载的速度
    节省流量,改善用户的浏览体验

2>Apache的压缩模块

mod_gzip模块与mod_deflate模块

  • 两者均使用gzip压缩算法,运作原理相似
  • mod_deflate模块速度略快,而mod_gzip压缩比略高
  • mod_gzip对服务器的CPU占用率要高一些
  • 高流量的服务器,使用mod_deflate会比mod_gzip加载速度快一些

3>配置压缩功能步骤

  • 查看是否安装mod_deflate模块
  • 修改位置文件启用压缩功能
  • 访问测试

4>实验:

[root@localhost httpd-2.4.29]# rz -E  #将需Apache需要的软件包放进来(自行下载或者找我要)
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[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 httpd-2.4.29]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# yum -y install gcc gcc-c++ pcre-devel expat-devel make perl zlib-devel
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-deflate \     //加入mod_deflate模块
> --enable-expires \     //加入mod_expires模块
> --enable-so \     //开启核心功能模块,即web服务
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi
[root@localhost httpd-2.4.25]# make && make install
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# vim /etc/httpd.conf
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so  //这三条命令的#去掉
LoadModule filter_module modules/mod_filter.so
Listen 192.168.192.20:80
#Listen 80
ServerName www.test.com:80
...末尾加上下面的参数
<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>
[root@localhost bin]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl -t
Syntax OK
[root@localhost bin]#
[root@localhost bin]# /usr/local/httpd/bin/httpd   //开启httpd的服务
[root@localhost bin]# iptables -F
[root@localhost bin]# setenforce 0
[root@localhost bin]# netstat -natp | grep 80
tcp        0      0 192.168.75.134:80       0.0.0.0:*               LISTEN      61850/httpd
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      8010/dnsmasq
[root@localhost bin]# /usr/local/httpd/bin/httpd
httpd (pid 61850) already running
[root@localhost bin]#
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate"  //查看模块是否开启deflate_module (shared)
[root@localhost bin]#/usr/local/httpd/htdocs
[root@localhost htdocs]# ll
总用量 68
-rw-r--r--. 1 root root    45 6月  12 2007 index.html
-rw-r--r--. 1 root root 64598 8月   5 22:12 timg.jpg  //将图片拖至当前目录下
[root@localhost htdocs]# vim index.html
<html><body><h1>It works!</h1></body></html>
<img src="timg.jpg"/>
[root@localhost bin]# ./apachectl
[root@localhost bin]# netstat -napt | grep 80
tcp        0      0 192.168.195.20:80       0.0.0.0:*               LISTEN      54303/httpd


2、网页缓存

1>配置网页缓存时间

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

2>配置步骤

  • 查看是否安装mod_expire模块
  • 修改位置文件启用压缩功能
  • 访问测试

3>实验:

[root@localhost opt]# vim /etc/httpd.conf
LoadModule expires_module modules/mod_expires.so
...末尾添加
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
[root@localhost opt]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl -t
Syntax OK
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires"expires_module (shared)
[root@localhost bin]# iptables -F
[root@localhost bin]# setenforce 0
[root@localhost bin]# ./apachectl
[root@localhost bin]# netstat -anpt | grep 80
tcp        0      0 192.168.195.20:80       0.0.0.0:*               LISTEN      12020/httpd

二、Apache安全优化

1、隐藏版本信息

  • Apache版本信息,透露了一定的漏洞信息,会给网站带来安全隐患
  • 生产环境中需要配置Apache隐藏版本信息

1>实验:

[root@localhost opt]# vim /etc/httpd.conf
# Various default settings
Include conf/extra/httpd-default.conf
[root@localhost bin]# cd /usr/local/httpd/conf/extra/
[root@localhost extra]# vim httpd-default.conf
[root@localhost extra]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start

2、配置防盗链

1>作用:

防止别人网站代码里面盗用自己服务器上面的图片,文件,视频等资源
如果被盗用,则会增加服务器的带宽压力

2>模拟步骤:

两台主机配置测试页面
盗链网站的测试页面,盗用源主机网站目录下的一个文件
在Windows中访问验证

3>配置规则变量说明

%{HTTP_REFERER}: 浏览header中的连接字段,存放一个连接的URL,代表是从哪个连接访问所需的网页
!^: 不以后面的字符串开头
.*$: 以任意字符结尾
NC:不区分大小写
R:强制跳转

4>配置匹配说明及匹配规则

RewriteEngine On: 打开网页重写功能
RewriteCond: 设置匹配规则
RewriteRule: 设置跳转动作注:如果相应变量的值匹配所设置的规则,则逐条往下处理如果不匹配,则往后不再匹配

5>实验:

源网web服务搭建

安装dns服务
手工编译安装apache服务(之前实验都有,这里就不一一赘述)

盗链网站搭建

[root@localhost opt]# yum -y install httpd
[root@localhost opt]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.195.20:80
#Listen 80
ServerName www.test02.com:80
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# vim index.html
<h1>this is test02 web</h1>
<img src="http://www.test.com/thinking.jpg"/>
[root@localhost html]# echo "nameserver 192.168.195.10" > /etc/resolv.conf    ##使用官网作为盗链网站的域名服务器
[root@localhost html]# systemctl restart httpd


验证防盗链
在主配置文件中开启防盗链功能


[root@localhost named]# vim /etc/httpd.conf LoadModule rewrite_module modules/mod_rewrite.so   //去掉注释RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://test.com/.*$[NC]
RewriteCond %{HTTP_REFERER} !^http://test.com/$[NC]
RewriteCond %{HTTP_REFERER} !^http://www.test.com/.*$[NC]
RewriteCond %{HTTP_REFERER} !^http://www.test.com/$[NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.test.com/error.png
[root@localhost named]#/usr/local/httpd/htdocs
[root@localhost htdocs]# ll
总用量 100
-rw-r--r--. 1 root root 29221 8月   6 15:26 error.png    ///将需要的图片拖至当前网页的目录下
-rw-r--r--. 1 root root    89 8月   6 15:39 index.html
-rw-r--r--. 1 root root 64598 8月   5 22:12 proxy.jpg
[root@localhost htdocs]# vim index.html <html><body><h1>this is test web</h1></body></html>
<img src="proxy.jpg"width=500px/>

Apache服务网页和安全优化(带有小实验,轻松学习)相关推荐

  1. Apache的网页和安全优化

    Apache小结 一.Apache网页优化 1.1 网页压缩 1)网页压缩的理论步骤 2)网页压缩的具体实操步骤(图文) 1.2 网页缓存 1)网页缓存 的理论步骤 2)网页缓存 的具体实操步骤(图文 ...

  2. RSTP/MSTP的产生,作用及如何配置(带有小实验详解)

    RSTP/MSTP诞生的背景: 一.1.STP协议工作时间慢,响应时间长 2.单靠STP,不能维护网络中的多个VLAN形成的环路 二.RSTP 1.解决STP的问题,响应时间长 2.从初始化到收敛完成 ...

  3. python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验

    用Python实现基于蒙特卡洛算法小实验 蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯· 诺伊曼 ,他在20世纪40年代中期用驰名世界的赌城- ...

  4. python实验原理_Python实现蒙特卡洛算法小实验过程详解

    蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯·诺伊曼,他在20世纪40年代中期用驰名世界的赌城-摩纳哥的蒙特卡洛来命名这种方法. 通俗的解释一 ...

  5. Apache服务安全加固及Apache优化

    转载来源 :https://help.aliyun.com/knowledge_detail/52981.html 一.账号设置 以专门的用户帐号和用户组运行 Apache 服务. 1.根据需要,为 ...

  6. 超级详细!!!Apache 网页与安全优化

    Apache网页优化 在使用Apache作为Web服务器的过程中,只有对Apache服务器进行适当的优化配置,才能让Apache发挥出更好 的性能;反过来说,如果Apache的配置非常糟糕,Apach ...

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

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

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

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

  9. 理论+实操:Apache 网页与安全优化

    文章目录 一:Apache网页优化概述 1.1 优化内容 二:gzip介绍 配置apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器 作用 三:apache的压 ...

最新文章

  1. Failed resolution of: Landroid/support/v7/internal/widget/TintManager;异常解决方法
  2. HD 1003 Max Sum(贪心)
  3. boost::intrusive::list用法的测试程序
  4. url(r'^index/$',views.index)的含义解释
  5. ps aux 查看进程信息
  6. [Android]解决 Could not read entry xxx from cache taskArtifacts.bin
  7. WebDriver API
  8. jQuery Mobile中单选按钮radio的data-*选项
  9. 真正的卡巴斯基key 教你使用正版KASPERSKY授权到2008年
  10. stm32固件库下载地址
  11. 简单FTP服务器搭建教程
  12. echarts 世界地图标点_echarts中国地图3D各个城市标点demo
  13. visio如何使箭头指向插图的任意一处
  14. Linux 复制文件命令
  15. 2021机器学习面试必考100题最新汇总(附答案详解)
  16. springboot配置文件密文解密
  17. 沃尔玛承压,TJX、唯品会稳健,折扣零售是行业“抗压”能手?
  18. 中国杰出前十大程序员_10个值得关注的杰出青少年应用程序开发人员
  19. 二十岁的男人(应该需要做什么)
  20. 计算机操作系统 - 概述

热门文章

  1. 【HTML+CSS】博客系统(页面设计)
  2. Anaconda创建虚拟环境失败,一直显示done
  3. 信息安全技术 工业控制系统安全控制应用指南
  4. 多模态交互的概念与现状
  5. 白名单认证 solidity 代码
  6. java 实现发送短信验证码(网易云)
  7. [iOS]图表(UUChartView)
  8. [SMOJ2095]Bug2
  9. three.js嵌入可交互的普通页面
  10. 我服务又双叒叕奔溃了,含泪干货分享