实验环境:

环境:CentOS 7.4

软件版本:httpd-2.4.29

一.网页压缩

1.检查是否安装压缩模块

apachectl -D DUMP_MODULES | grep deflate

如果没有需要重新编译安装apache

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate

make && make install

修改配置文件,启用模块

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

LoadModule deflate_module modules/mod_deflate.so

httpd -t

service httpd restart

apachectl -D DUMP_MODULES | grep deflate

2.修改配置文件,添加压缩配置

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

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript image/png image/jpeg application/x-httpd-php application/x-javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE

AddDefaultCharset utf-8

标注支持压缩的格式

压缩的级别
代表启用deflate模块对本站点进行压缩

解决中文乱码

service httpd restart

3.创建测试网页

vi /var/test2/index.html

<html>
<head>
<title>--压缩测试页--</title>
</head>
<body><h1>这是test2网页内容压缩的页面!!This is test Page!!</h1>
<img src=test.jpg / >
</body>
</html>

//虚拟主机需要将图片放置在虚拟主机存放文档的目录,例如/var/test2;
非虚拟主机直接放在/httpd/htdocs/

4.测试截图及看报文对比

日志分析:

已经开启压缩

未开启压缩

二. 网页缓存

1.检查是否安装mod_expires模块

apachectl -D DUMP_MODULES | grep expires

2.重新编译安装

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate \
--enable-expires

make && make install

3.修改配置文件

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"                                           //缓存设置60秒
</IfModule>

service httpd start

4.实验验证

三.防盗链

1.实验准备

源主机  192.168.80.180

盗链主机  192.168.80.80

盗链主机能够解析源主机的域名

vi /etc/hosts

192.168.80.180 www.test2.com

2.源主机编辑网页

vi /var/test2/index.html

<html>
<head>
<title>--合法主机--</title>
</head>
<body><h1>这是192.168.80.180合法主机!</h1>
<img src=test.jpg / >
</body>
</html>

盗链网页

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

<html>
<title>盗链主机</title>
<body>
<h1> 伸手拿来</h1>
<img src="http://www.test2.com/test.jpg">
</body>
</html>

3.实验截图

4.设置防盗链

4.1需要mod_rewrite模块支持

vi /etc/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

4.2配置mod_rewrite模块启用

<Directory "/var/test2/">
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://192.168.80.180/*
RewriteCond %{HTTP_REFERER} !^http://test2.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://test2.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.test2.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.test2.com$ [NC]
RewriteRule .*\.(gif|jpg|swf|png)$ http://www.test2.com/doc/error.jpg [R,NC]
</Directory>

脚本的意思:不以。。。。开头的链接都重定向到http://www.test2.com/doc/error.jpg

“ %{HTTP_REFERER} ” :表示从哪个url来产生的链接;

‘’  !^ ‘’:表示不以。。。开头;

“ .*$ ” :表示以任意字符结尾;

“ [NC] ” :表示不区分大小写;

4.3在合法主机上创建一个虚拟目录,并使盗链主机可以访问

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>

4.4在虚拟目录里放置错误图片

cp /var/test2/error.jpg /usr/share/doc/

4.4 访问盗链主页,实验截图

四. 隐藏版本信息

1.主配置文件开启httpd-default

vi /etc/httpd.conf

Include conf/extra/httpd-default.conf               //去掉注释

2.修改httpd-default

cd /usr/local/httpd/conf/

vi extra/httpd-default.conf

ServerTokens Prod
Serversignature Off

service httpd restart

3.抓包对比

  

ServerTokens的输出格式:

web服务器学习4---httpd-2.4.29优化的更多相关文章

  1. web服务器学习1---httpd-2.4.29源码手动编译安装

    环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 一  Apache主要特点 apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求.主要 ...

  2. Web服务器学习总结(一):web服务器简介

    一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...

  3. Kestrel Web 服务器学习笔记

    前言: ASP.NET Core 已经不是啥新鲜的东西,很多新启的项目都会首选 Core 做开发: 而 Kestrel 可以说是微软推出的唯一真正实现跨平台的 Web 服务器了: Kestrel 利用 ...

  4. web服务器学习3---httpd 2.4.29日志处理

    .rotarelogs分割工具 如果有虚拟主机在虚拟主机配置文件中配置,否则在主配置文件中修改. 1.1修改配置文件 vi /usr/local/httpd/conf/conf.d/vhosts.co ...

  5. web服务器学习2---httpd-2.4.29虚拟目录及访问控制

    一 创建虚拟目录 环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 1.编辑主配置文件,添加命令运行子配置文件 vi /usr/local/httpd/conf/httpd.co ...

  6. 嵌入式web服务器-thttpd

    交叉编译thttpd http://lakie.blog.163.com/blog/static/45185220201162910432330/ thttpd安装与调试 http://blog.cs ...

  7. Servlet学习之web服务器Tomcat 详解

    Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...

  8. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  9. 学习 node.js 搭建web服务器

    开始 学习使用 node.js 首先完成搭建一个 web服务器.myweb.js var http = require('http'); var url = require('url'); var h ...

随机推荐

  1. Java代码输出是“father”还是“child”(一)

    1.实例 /** * 以下代码输出的结果是 */ package com.you.model; /** * @author YouHaidong * 输出的结果 */ public class Fat ...

  2. sqoop将mysql连表查询结果导入hdfs文件

    sqoop import --connect jdbc:mysql://ip/数据库 --username 用户名 --password 密码 --query " select p.bidN ...

  3. 论文笔记(2):Deep Crisp Boundaries: From Boundaries to Higher-level Tasks

    ---------------------------------------------------------------------------------------------------- ...

  4. Several ports (8005, 8080, 8009)被占用

    启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...

  5. NancyFX 第九章 Responses(响应对象)

    和内容协商最最为紧密的当属Nancy的Response对象. 在本书的第一张你应该就已经看到过Response对象,之前是使用它的AsFile 方法返回一个简单文件. using Nancy; nam ...

  6. wpf动态增加删除控件

    我在xaml中定义了一个名字为morepictureWrapPan为WrapPanel,然后将控件添加在此WrapPanel中.由于要实现控件的删除功能,所以增加的textbox和button的名字都 ...

  7. Python 3 中生成器函数yield表达式的使用

    生成器函数或生成器方法中包含了一个yield表达式.调用生成器函数时,会返回一个迭代子,值从迭代子中每次提取一个(通过调用其__next__()方法).每次调用__next__()时,生成器函数的yi ...

  8. Keeweb-Linux的密码管理器

    Keeweb-Linux的密码管理器 如今,我们依赖于越来越多的线上服务.我们每注册一个线上服务,就要设置一个密码:如此,我们就不得不记住数以百计的密码.这样对于每个人来说,都很容易忘记密码.那么,下 ...

  9. 利用github协作开发步骤

    项目使用IDEA开发,IDEA上可以加载很多的插件(而且下载很快),安装github插件,安装git 首先一个成员需要创建好代码库,这个代码库存放项目,所有的开发提交代码都是向这个库提交,在githu ...

  10. 2017总结&2018展望

    2017已逝2018已来,是时候放下包袱来好好回顾下2017做了什么,有什么收获,遗憾之处的原因是什么.2018应该怎么做才能让自己满意,才能少一些遗憾. 2017 工作 工作中所参与的项目是一个直播 ...