Apache网页的优化、安全与防盗链图文详解
1. Apache 网页的压缩
在一个企业中,部署Apache后只采用默认的配置参数,会导致网站出现很多问题。换句话说,默认配置是针对之前的下层服务器,之前的配置已经不适合今天的互联网时代。为了满足企业的需求,我们需要考虑如何提高Apache的性能和稳定性,这是Apache优化的内容。
1.1检查压缩模块
apachectl -t -D DUMP_MODULES | grep "deflate"1.2 安装mod_deflate模块。
如果没有安装mod_deflate模块,重新编译安装Apache,添加mod_deflate模块。systemctl stop httpd.servicecd /usr/local/httpd/confmv httpd.conf httpd.conf.bak yum -y install gcc gcc-c++ pcre pcre-devel zlib-develcd /opt/httpd-2.4.29/./configure \--prefix=/usr/local/httpd \--enable-so \--enable-rewrite \--enable-charset-lite \--enable-cgi \--enable-deflate make && make install1.3将mod_deflate模块配置为启用。
vim /usr/local/httpd/conf/httpd.conf在最后一行添加-
<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/pngDeflateCompressionLevel 9SetOutputFilter DEFLATE</IfModule>1.4检查安装并启动服务。
[root@www htdocs]#apachectl -tSyntax OK[root@www htdocs]#apachectl -t -D DUMP_MODULES | grep "deflate" deflate_module (shared)[root@www htdocs]#systemctl start httpd1.5测试mod_deflate压缩是否生效。
编辑网页:
cd /usr/local/httpd/htdocsvim index.html<html><body><h1>It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!</h1><img src="game.jpg"/></body></html>测试:
方法1:
在Linux系统中,打开Firefox浏览器,右键查看元素。
选择网络->选择HTML、WS、其他
访问http://192.168.80.10,双击200响应消息,查看响应头是否包含内容编码:gzip。
方法二:
安装微软。NET4和fiddler软件在Windows系统上依次运行,并打开fiddler软件。
选择检查员->:选择标题。
浏览http://192.168.80.10,双击200响应消息,查看是否有content-encoding:gzip
2. Apache的网页缓存处理
减少网络延迟并加快页面打开速度——缓存比源服务器更靠近客户端,因此从缓存请求内容比从源服务器请求内容花费的时间更少。使用缓存可以明显加快页面打开速度,获得更好的体验。
减轻服务器压力——网络资源到期日设置后,用户可以重用本地缓存,减少对源服务器的请求,间接减轻服务器压力。同时,搜索引擎的爬虫机器人还可以根据到期机制减少抓取频率,也可以有效减轻服务器的压力。
减少网络带宽的损失-带宽对网站运营商和用户来说都是金钱。当使用web cache的副本时,只会产生最小的网络流量,可以有效降低运营成本。
2.1检查是否安装了缓存模块。
apachectl -t -D DUMP_MODULES | grep "expires"2.2重新编译安装并添加缓存模块
systemctl stop httpd.servicecd /usr/local/httpd/confmv httpd.conf httpd.conf.bak1 yum -y install gcc gcc-c++ pcre pcre-devel zlib-develcd /opt/httpd-2.4.29/./configure \--prefix=/usr/local/httpd \--enable-so \--enable-rewrite \--enable-charset-lite \--enable-cgi \--enable-deflate \--enable-expires make && make install2.3配置缓存模块
vim /usr/local/httpd/conf/httpd.conf第52行和第199行的监控继续被取消注释和修改。
在最后一行添加-
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 60 seconds" </IfModule>2.4验证模块的安装并重新启动服务。
[root@www httpd-2.4.29]#apachectl -t[root@www httpd-2.4.29]#apachectl -t -D DUMP_MODULES | grep "expires"[root@www httpd-2.4.29]#systemctl restart httpd2.5修改测试网页,进行访问测试。
[root@www httpd-2.4.29]#cd /usr/local/httpd/htdocsvim index.html <html><body><h1>this is a game</h1><img src="games.jpg"/></body></html>访问测试:3.隐藏Apache的版本信息
如果我们开放了Apache服务,那么别人就可以通过F12找到你的Apache版本号,从而利用一些已知的漏洞或者零日漏洞进行攻击,这是非常危险的。所以,为了降低哪怕一点点风险,我们最好选择隐藏Apache的版本信息。3.1修改httpd 的主要配置
vim /usr/local/httpd/conf/httpd.conf-第491行-取消注释vim /usr/local/httpd/conf/extra/httpd-default.conf如果页面信息刷新不成功。您可以在访问之前尝试清除空历史中的所有信息。
4.Apache 防盗链
互联网时代,网站最关注的是用户访问量。吸引用户的往往是新奇的标题、图片及其内容,承载这些需求占用服务器的资源。而一些无良企业会把自己网站的图片重定向到你的网站,阅读你的图片,会占用你的带宽和服务器资源,但是流量会被它占用。所以阿帕奇防盗链的设置是必要的。
偷链的实验演示
在这个实验中,我准备了两台虚拟机。一个是编译源代码并安装apche服务的主机。作为盗链的主机,域名设置为www.test.com
,另一个是为yum安装apache服务的主机。作为被盗链的主机,域名设置为www.test1.com。(1)盗链主机访问盗链主机,盗图网络路径
(2)链盗主机建立自己的网站图片资源。
(3)盗后访问测试
注意:本测试访问窃取链的主机,探究图片来源
防盗链措施演示
(1)主配电配置的修改
因为原生源代码编译时已经下载了相关模块,所以直接修改配置。如果未下载相关模块,则需要下载配置。下载方法:
systemctl stop httpd.servicecd /usr/local/httpd/confmv httpd.conf httpd.conf.bak2 yum -y install gcc gcc-c++ pcre pcre-devel zlib-develcd /opt/httpd-2.4.29/./configure \--prefix=/usr/local/httpd \--enable-so \--enable-rewrite \ #加入mod_rewrite 模块--enable-charset-lite \--enable-cgi \--enable-deflate \--enable-expires make && make install修改主配置:
vim /usr/local/httpd/conf/httpd.conf-157行-取消注释
重写秒%{HTTP_REFERER}!http://www.test.com/.* $[NC]
的字段含义:“%{HTTP_REFERER}” :存放一个链接的 URL,表示从哪个链接中转访问目录下的静态资源。“!^” :表示不以后面的字符串开头。“http://www.test.com” :是本网站的路径,按整个字符串匹配。“.*$” :表示以任意字符结尾。& ldquo【NC】& rdquo;:表示不区分大小写。
写入规则。* \.(gif | jpg | swf)$ http://www.test.com/error.png
字段含义:“.” :表示匹配一个字符。“*” :表示匹配 0 到多个字符,与“.”合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用“+”表示。“\.” :在这里的“\”是转义符,“\.”就代表符号“.”的意思。因为“.”在指令中是属于规则字符,有相应的含义, 如果需要匹配,需要在前面加个转义符“\”,其它规则字符如果需要匹配,也做同样处理。“(gif|jpg|swf)” :表示匹配“gif”、“jpg”、“swf”任意一个,“$”表示结束。最后的规则是以“.gif”、“.jpg”、“.swf”结尾, 前面是1到多个字符的字符串,也就是匹配图片类型的文件。“http://www.test.com/error.png” :表示转发到这个路径 。(2)准备一张图片提醒链贼,放在网页根目录下。
(3)参观并展示
访问盗链主机的网页:访问盗链主机的网页:总结
关于Apache网页优化、安全和防盗链的这篇文章到此为止。关于Apache网页优化
安全和防盗链的更多信息,请搜索脚本之家之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持剧本之家!如果您的问题还未解决可以联系站长付费协助。
有问题可以加入技术QQ群一起交流学习
本站vip会员 请加入无忧模板网 VIP群(50604020) PS:加入时备注用户名或昵称
普通注册会员或访客 请加入无忧模板网 技术交流群(50604130)
客服微信号:15898888535
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若内容侵犯了原著者的合法权益,可联系站长删除。