Web服务器----------Apache网页优化、网页压缩、防盗链实验过程----简直太详细了!!!

一、Apache网页优化

1.1 网页压缩

1.1.1 网页优化内容

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

1.1.2 gzip介绍

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

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

Apache实现网页压缩的功能模块包括
●mod_gzip 模块
●mod_deflate 模块

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

Apache 2.x
●在开发的时候,内建了mod_deflate 这个模块,取代mod_gzip

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

1.1.3 启用网页压缩功能

步骤
●检查是否安装了mod_deflate模块(注:前期虚拟机已经安装了Apache服务)

[root@localhost ~]# apachectl -t -D DUMP_MODULES | grep "deflate"  
##如果输出中没有deflate_module (static),说明编译时没有安装mod_deflate模块##
[root@localhost ~]# systemctl stop httpd
##需要停止Apache服务,重新编译安装Apache,参数中加入mod_deflate模块##
[root@localhost ~]# cd /opt/httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi \
> --enable-cgid \
> --enable-deflate
[root@localhost httpd-2.4.29]# yum install -y zlib-devel  ##若提示失败,则安装这个,再次执行安装即可##
[root@localhost httpd-2.4.29]# make -j3    ##-j3是核心数,最大不要超过虚拟机的核心数##
[root@localhost httpd-2.4.29]# make install

在配置httpd.conf中配置mod_deflate模块启用

[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
. . . . . . . . . . . ##此处省略部分内容##

##在末尾添加以下内容##
LoadModule deflate_module modules/mod_deflate.so  ##启用mod_deflate模块##
<IfModule mod_deflate.c>    
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript image/png image/jpg  ##代表用什么样的内容进行gzip压缩##
DeflateCompressionLevel 9   ##代表压缩级别##
SetOutputFilter DEFLATE   ##代表启用deflate模块对本站点的输出进行gzip压缩##
</IfModule>
[root@localhost httpd-2.4.29]# httpd -t  ##检查语法是否错误##
Syntax OK                 ##输出这个代表无错##
[root@localhost httpd-2.4.29]# systemctl restart httpd
##配置完成后需要重启Apache生效,然后抓包查看##
##将照片b传入/usr/local/httpd/htdocs目录下##

在这里插入图片描述

也可以通过将照片b传入/usr/local/httpd/htdocs目录下
在这里插入图片描述

配置测试页

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# vi index.html
<html>
<head>
<title>--压缩测试页--</title>
</head>
<body><h1>这是一个测试网页内容压缩的界面!!</h1>
<img src=b.jpg / >
</body>
</html>    ##测试页内容##

##中文乱码问题解决方法##
[root@localhost htdocs]# vi /usr/local/httpd/conf/httpd.conf 
AddDefaultCharset utf-8  ##在ServerName下面添加##
[root@localhost htdocs]# systemctl restart httpd
##修改完成后重启##

在浏览器中输入网址测试,成功显示,下面抓包看下图片有没有压缩
在这里插入图片描述
在这里插入图片描述

1.2 网页缓存

检查mod_expire是否安装

[root@localhost ~]# apachectl -t -D DUMP_MODULES | grep "expire"  
##如果输出中没有输出结果,说明编译时没有安装mod_expire模块##

安装mod_expire模块

[root@localhost ~]# systemctl stop httpd
[root@localhost ~]# cd /opt/httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi \
> --enable-cgid \
> --enable-deflate \
> --enable-expires
[root@localhost httpd-2.4.29]# yum install -y zlib-devel  ##若提示失败,则安装这个,再次执行安装即可##
[root@localhost httpd-2.4.29]# make -j3    ##-j3是核心数,最大不要超过虚拟机的核心数##
[root@localhost httpd-2.4.29]# make install
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
LoadModule expires_module modules/mod_expires.so  ##找到这个将"#"注释##
. . . . . . . . ##此处省略部分内容##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</IfModule>          ##在最后一行添加##
[root@localhost httpd-2.4.29]# httpd -t
Syntax OK
[root@localhost httpd-2.4.29]# systemctl restart httpd
[root@localhost httpd-2.4.29]# apachectl -t -D DUMP_MODULES | grep "expire"     ##检测模块是否安装##
 expires_module (shared)   ##已安装##

抓包测试
在这里插入图片描述

二、 Apache安全优化

2.1 隐藏版本信息

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

配置Apache隐藏版本信息

[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf   ##将“#”去掉##
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/extra/httpd-default.conf
ServerTokens Prod     ##找到这个。把full改成Prod##
[root@localhost httpd-2.4.29]# systemctl restart httpd

访问测试,抓包分析
在这里插入图片描述

2.2 配置防盗链

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

使用两台主机模拟盗链
●两台主机配置与功能如下:
20.0.0.10 www.51xit.top 源主机
20.0.0.11 www.52xit.top 盗链网站

盗链模拟步骤
在20.0.0.11中,作为盗链网站,需要用到www.51xit.top/b.jpg这个图片,也需要搭建网页压缩功能

[root@localhost ~]# vi /etc/hosts
20.0.0.10       www.51xit.top   ##添加映射关系##
[root@localhost httpd-2.4.29]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# vi index.html
<html>
<head>
<title>--压缩测试页--</title>
</head>
<body><h1>这是一个测试网页内容压缩的界面!!</h1>
<img src=http://www.51xit.top/b.jpg / >   ##若想使用windows的浏览器访问,需要在windows的hosts中添加映射关系##
</body>
</html>     ##清空默认文件后添加这个##
[root@localhost htdocs]# vi /usr/local/httpd/conf/httpd.conf
AddDefaultCharset utf-8  ##在ServerName下面添加##
[root@localhost ~]# systemctl restart httpd
##在20.0.0.11浏览器中输入20.0.0.11,能正常访问图片并显示出来##

在这里插入图片描述

接下来做Apache 防盗链配置
Apache 防盗链需要安装 mod_rewrite模块,检查是否安装了 mod_rewrite 模块

[root@localhost ~]# apachectl -t -D DUMP_MODULES | grep "rewrite"
##无显示表示没有安装##
[root@localhost ~]# systemctl stop httpd
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so  #找到这个,#去掉##
[root@localhost ~]# apachectl -t -D DUMP_MODULES | grep "rewrite"
 rewrite_module (shared)   ##已经开启##
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
##在htdocs下添加##
RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.10/*
    RewriteCond %{HTTP_REFERER} !^http://51xit.top/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://51xit.top$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.51xit.top/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.51xit.top$ [NC]
    RewriteRule  .*\.(gif|jpg|swf|png)$ https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=3102240988,35639029&fm=26&gp=0.jpg [R,NC]
    ##此链接为图片链接地址##
[root@localhost ~]# systemctl restart httpd
[root@localhost htdocs]# vi index.html
<html>
<head>
<title>--压缩测试页--</title>
</head>
<body><h1>这是一个盗用的图!!</h1>
<img src=http://www.51xit.top/b.jpg / >
</body>
</html>

■进入真机的浏览器,输入20.0.0.11测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值