Apache服务的网页优化----安全优化?

前言

  • 在企业中,部署Apache后采用是默认的配置参数,会
    引发网站很多问题

  • 之前的默认配置很不符合咱们现在互联网的状态
    企业的需求,就是考虑如何提升Apache的性能与稳定性

  • 这就是咱们接下来所说的优化的问题了!!!

一,网页优化

1.1网页压缩

步骤一:先停止apache服务

systemctl stop httpd

步骤二:查看mod_deflate压缩模块是否安装!

(apache2.4版本的压缩模块是mod_deflate 都是属于gzip压缩)
1.apachectl -D DUMP_MODULES |grep “deflate”
2.没有的话咱们编译安装一下:
安装编译环境:
yum -y install zlib-devel
编译安装:
cd /opt/httpd-2.4.9
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-cgid --enable-deflate

make && make install

步骤三:在httpd主配置文件里启用模块

1.vi /usr/local/httpd/conf/httpd.conf # 找到模块,去掉#号启用,如果找不到模块咱们末尾手动添加
LoadModule deflate_module modules/mod_deflate.so

步骤四:网页配置文档

网页文档配置:
1.cd /usr/local/httpd/htdocs
[root@localhost htdocs]# vi index.html

<html>
<head>
<title>--压缩测试--</title>       
</head>
<body><h1>美丽的风景!!this is as </h1>    
<img src=b.jpg / >                 
</body>
</html>

注释:

<title>--压缩测试--</title>         #网页标题
<body><h1>美丽的风景!!this is as </h1>    #定义文本
<img src=b.jpg / >                 #添加压缩图片b.jpg

步骤五:重启apache服务, 验证

1.在咱们/usr/localhttpd/htdocs/下把图片放进去。验证
在这里插入图片描述
2.systemctl restart httpd
真机测试+抓包测试:
在这里插入图片描述

抓包:

httpd=200 ok # 网站访问成功
看到图中最下面的gizp 说明上传的图片进行压缩显示;
在这里插入图片描述

1.2网页缓存;

如果进行了上面的操作,安装环境模块yum -y install zlib-devel就不需要安装了;

步骤一:先停止apache服务

systemctl stop httpd

步骤二:查看mod_expires压缩模块是否安装!

1.apachectl -D DUMP_MODULES |grep "expires"
查看模块是否安装
2.编译安装:
  cd  /opt/httpd-2.4.9  #到软件包所在的位置
  
 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-cgid --enable-deflate --enable-expires


  make && make  install 

步骤三:在httpd主配置文件里启用模块

1.httpd主配置文件去掉#号:

LoadModule expires_module modules/mod_expires.so
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"                    
</IfModule>

注释:
ExpiresDefault “access plus 60 seconds” #设置缓存时间

步骤四:重启服务,验证

1.httpd  -t      #检测文件是否正确
   syntax  OK
2.systemctl   restart   httpd
登录apache:http://20.0.0.25
抓包:看到缓存时间为60

在这里插入图片描述

二,安全优化

2.1隐藏版本号

1.修改配置文件,使httpd-default.conf文件生效,它里面包含了是否返回版本信息内容

vi  /usr/local/httpd/conf/httpd.conf

#Various default settings
Include conf/extra/httpd-default.conf          #去掉#号启动

2.修改httpd-default.conf文件 把Full改为Prod

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

ServerTokens Prod

3.访问验证,抓包测试
在这里插入图片描述
在这里插入图片描述

2.2网站防盗链

此次验证需要另一台访问咱们的apache服务,咱们开虚拟机模拟一下,也就是两台机子做!!!

搭建的apche服务器:20.0.0.25        咱们称为A
盗图的虚拟机客户机:20.0.0.15        咱们称为B
盗图连接主机:20.0.0.16                    C


真机测试:浏览器

步骤一:在B主机先做盗图看看!!

在B主机做主机映射

vi   /etc/hosts  

20.0.0.25   www.51xit.top
保存
最好ping www.51xit.top测试下

1.如果是按照我们之前搭建的apache服务,可以直接编辑

vi /usr/local/httpd/htdocs/index.html

2.B主机咱们直接yum安装httpd!

yum  -y install httpd
systemctl  start  httpd
systemctl   enable httpd


3.创建编辑网页文档,盗图A主机
 vi  /var/www/html/index.html
<html>
<head>
<title>--防盗测试--</title>
</head>
<body><h1>盗图 !!this is as </h1>
<img src=http://www.51xit.top/b.jpg / >
</body>
</html>

测试:

注: 这个地方真机可能需要做一下主机映射,将A主机在win10做映射,如图:
在这里插入图片描述
在这里插入图片描述

步骤二:准备A主机做防盗链


 查看A主机mod_rewite是否安装!
1.apachectl -D DUMP_MODULES |grep "rewrite"

2.未安装的话,停止服务安装,    #咱们之前安装过的,已安装进行步骤三
systemctl  stop  httpd
cd  /opt/httpd-2.4.9
安装:./configure --prefix=/usr/local/httpd --enable-mod_rewrite
  make && make  install

步骤三:在httpd主配置文件里启用模块,并添加防盗;

   1.LoadModule rewrite module modules/mod_rewrite.so
   2. 针对目录做防盗链处理---在htdocs目录下最后位置新增
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://20.0.0.25/*
    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://20.0.0.16/error.jpg [R,NC] 


注释:
第2,3,4,5,行信任的站点,能够使用网站图片;除了信任的站点以外,访问用户则跳转到咱们定义C主机的盗图连接位置;
会显示另一张图片;

步骤四:重启服务httpd验证:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47320286/article/details/108406085