web服务器学习4---httpd-2.4.29优化
实验环境:
环境: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优化的更多相关文章
- web服务器学习1---httpd-2.4.29源码手动编译安装
环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 一 Apache主要特点 apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求.主要 ...
- Web服务器学习总结(一):web服务器简介
一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...
- Kestrel Web 服务器学习笔记
前言: ASP.NET Core 已经不是啥新鲜的东西,很多新启的项目都会首选 Core 做开发: 而 Kestrel 可以说是微软推出的唯一真正实现跨平台的 Web 服务器了: Kestrel 利用 ...
- web服务器学习3---httpd 2.4.29日志处理
.rotarelogs分割工具 如果有虚拟主机在虚拟主机配置文件中配置,否则在主配置文件中修改. 1.1修改配置文件 vi /usr/local/httpd/conf/conf.d/vhosts.co ...
- web服务器学习2---httpd-2.4.29虚拟目录及访问控制
一 创建虚拟目录 环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 1.编辑主配置文件,添加命令运行子配置文件 vi /usr/local/httpd/conf/httpd.co ...
- 嵌入式web服务器-thttpd
交叉编译thttpd http://lakie.blog.163.com/blog/static/45185220201162910432330/ thttpd安装与调试 http://blog.cs ...
- Servlet学习之web服务器Tomcat 详解
Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- 学习 node.js 搭建web服务器
开始 学习使用 node.js 首先完成搭建一个 web服务器.myweb.js var http = require('http'); var url = require('url'); var h ...
随机推荐
- ArgumentError: Error #1063: BasicChart/dataFunc() 的参数数量不匹配。应该有 2 个,当前为 3 个。
1.错误描述 ArgumentError: Error #1063: BasicChart/dataFunc() 的参数数量不匹配.应该有 2 个,当前为 3 个. at mx.charts.char ...
- 芝麻HTTP:Python爬虫实战之爬取百度贴吧帖子
本篇目标 1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件 1.URL格式的确定 首先,我们先观察一下百度贴吧的任意一个帖子. 比如:http:// ...
- jsonp的案例
一,转发一 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性.看起来不知道什么意思,实践一下就知道了. 1.随便建两个网页 一 ...
- Python基础__字典、集合、运算符
之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I' ...
- 【国家集训队2010】小Z的袜子(莫队)
题面 Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把 ...
- [LOJ2230][BJOI2014]大融合
题面戳我 sol LCT维护子树size. 开一个数组\(sz_i\)表示一个节点的所有虚儿子的size和,\(sum_i\)表示以一个节点为根的子树的\(size\)和,可见\(sz_u=\sum_ ...
- BZOJ2820:YY的GCD
Sol 推导:\(n<m,p为质数\) \(ans=\sum_p\sum_{i=1}^{\frac{n}{p}}\mu(i)\frac{n}{pi}\frac{m}{pi}\) \(=\sum_ ...
- 纯css实现图片的灯光照射效果,高逼格图片展示
先不说技术,看实现的效果, 与原图(左图)相比,‘灯光’ 照射(右图)下的小姐姐是不是更有魅力了!! 那么下面就说说大家关心的技术实现过程. 其实这是我在学习css属性 mix-blend-mode ...
- 2017angular、vue、react热度
中国,过去一年: 中国,过去五年: 全球,过去一年: 全球,过去五年: 其他相关: 数据来源自:Google Trends
- 三大家族,offset,scroll,client
1.client 1.1主要成员 1.clientWidth 获取网页可视区域宽度(两种用法) clientHeight 获取网页可视区域高度 (两张用法) 盒子调用: 指盒子本省 浏览器调用: ...