Apache 网页与安全优化

万事须己运,他得非我贤。这篇文章主要讲述Apache 网页与安全优化相关的知识,希望能为你提供帮助。
Apache 网页与安全优化 Apache网页优化概述在企业中,部署Apache后 只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代。
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容。
gzip介绍
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
作用:
●降低了网络传输的字节数,加快网页加载的速度
●节省流量,改善用户的浏览体验
●gzip与搜索引擎的抓取工具有着更好的关系
Apache的压缩模块
Apache实现网页压缩的功能模块包括:
mod gzip 模块
mod
deflate 模块
Apache 1.x
没有内建网页压缩技术,但可使用第三方mod_ gzip 模块执行压缩
Apache 2.x
在开发的时候,内建了mod_ deflate这个模块,取代mod_gzip
mod gzip 模块与mod deflate 模块
●两者均使用gzip压缩算法,运作原理类似
●mod deflate压缩速度略快, 而mod gzip的压缩比略高
●mod gzip对服务器CPU的占用要高一些
●高流量的服务器,使用mod
deflate可能会比mod_ gzip 加载速度更快
网页压缩 1.检查是否安装 mod_deflate 模块

apachectl -t -D DUMP_MODULES | grep "deflate"

2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bakyum -y install gcc gcc-c++ pcre pcre-devel zlib-devel cd /opt/httpd-2.4.29/ ./configure \\ --prefix-/usr/local/httpd \\ --enable-so \\ --enable-rewrite \\ --enable-charset-lite \\ --enable-cgi \\ --enable-deflate#加入mod_deflate 模块make & & make install

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

3.配置 mod_deflate 模块启用
vim /usr/local/httpd/conf/httpd.conf--52行--修改 Listen 192.198.80.10:80--105行--取消注释 LoadModule deflate_module modules/mod_deflate.so#开启mod_deflate 模块--197行--取消注释,修改 ServerName www.kgc.com:80--末行添加-- < IfModule mod_deflate.c> AddoutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png #代表对什么样的内容启用gzip压缩 DeflateCompressionLevel 9#代表压缩级别,范围为1~9 SetOutputFilter DEFLATE#代表启用deflate 模块对本站点的输出进行gzip压缩 < /IfModule>

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

4.检查安装情况,启动服务
apachectl -t#验证配置文件的配置是否正确 apachectl -t -D DUMP_MODULES | grep "deflate"#检查mod_deflate 模块是否已安装 deflate_module (shared)#已安装的正确结果systemctl start httpd.service

Apache 网页与安全优化

文章图片

5.测试 mod_deflate 压缩是否生效
cd /usr/local/httpd/htdocs 先将game.jpg文件传到/usr/local/httpd/htdocs目录下vim index.html < html> < body> < img src="https://www.songbingjia.com/android/pika.jpg"/> < /body> < /html> systemctl restart httpd.service

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他
访问 http://192.168.109.3 ,查看响应头中包含 Content-Encoding: gzip
进入虚拟机进行验证
Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 防盗链防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源
如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力
作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
1、盗链过程
再准备一台主机,作为盗链接网站
Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

2、防盗链过程
1.检查是否安装 mod_rewrite 模块(重写功能上面实验自带直接跳过)
apachectl -t -D DUMP_MODULES | grep "rewrite"

2.如果没有安装 mod_rewrite 模块,重新编译安装 Apache 添加 mod_rewrite模块
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bak2yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel cd /opt/httpd-2.4.29/ ./configure \\ --prefix=/usr/local/httpd \\ --enable-so \\ --enable-rewrite \\#加入mod_rewrite 模块 --enable-charset-lite \\ --enable-cgi \\ --enable-deflate \\ --enable-expiresmake & & make install

3.配置 mod_rewrite 模块启用
vim /usr/local/httpd/conf/httpd.conf --157行--取消注释 LoadModule rewrite_module modules/mod_rewrite.so--224行--添加配置 < Directory "/usr/local/httpd/htdocs"> Options Indexes FollowSymLinks AllowOverride None Require all grantedRewriteEngine On#打开 rewrite 功能,加入mode_rewrite模块内容 RewriteCond %HTTP_REFERER !^http://kgc.com/.*$ [NC]#设置匹配规则 RewriteCond %HTTP_REFERER !^http://kqc.com$ [NC] RewriteCond %HTTP_REFERER !^http://www.kgc.com/.*$ [NC] RewriteCond %HTTP_REFERER !^http://www.kgc.com/$ [NC] RewriteRule .*\\.(gif|jpg|swf)$ http://ww.kgc.com/error.png#设置跳转动作 < /Directory>

【Apache 网页与安全优化】
Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

Apache 网页与安全优化

文章图片

结果:使用原域名依然可以访问,而使用盗图域名就会显示事先准备的盗链图片
RewriteCond %(HTTP_REFERER !^http://www.kgc.com/.*$ [NC] 的字段含义: “%(HTTP_REFERER" : 存放一个链接的 URL,表示从哪个链接访问所需的网页。 “!^”:表示不以后而的字符串开头。 “http://www.kgc.com” : 是本网站的路径,按整个字符串匹配。 “.*$" : 表示以任意字符结尾。 “[NC]” : 表示不区分大小写字母。RewriteRule .*\\.(gif|jpg|swf)$ http://www.kgc.com/error.png 的字段含义: "." : 表示匹配一个字符。 "*" : 表示匹配 0 到多个字符,与“."合起来的意思是匹配 0 到多次前而的任意字符,如果是 1 到多次匹配可以用“+"表示。 "\\." : 在这里的“\\”是转义符,"\\."就代表符号“.”的意思。因为"."在指令中是属于规则字符,有相应的含义,如果需要匹配,需要在前面加个转义符“\\”,其它规则字符如果需要匹配,也做同样处理。 “(gif|jpg|swf)" : 表示匹配“gif”、“jpg”、 “swf”任意一个,“$”表示结束。最后的规则是以“.gif”、 “.jpg”、 “.swf”结尾,前而是1到多个字符的字符串,也就是匹配图片类型的文件。 “http://www.kgc.com/error.png” : 表示转发到这个路径。整个配置的含义是 使用本网站以外的网站域名 访问本站的图片文件时,显示 error.png 这个图片。


    推荐阅读