Apache的优化和安全

一、Apache的网页优化

1)网页压缩

步骤:查看是否安装mod_deflate模块、修改配置文件,启用压缩功能、访问测试
1、 检查是否安装mod_deflate模块

apachecti -t -D DUMP_MODULES l grep “deflate”

2、 若没有安装mod_deflate模块,重新编译安装 Apache 添加到 mod_deflate模块

systemctl stop httpd.service

cd /usr/local/httpd/conf
mv httpd.conf httpd.conf. bak

yum -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 &s make install 			#编译

在这里插入图片描述

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>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、 检查安装情况,启动服务

apachectl -t		#验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES l grep "deflate"		#检查mod_deflate 模块是否已安装
deflate_module (shared)		#已安装的正确结果

systemctl start httpd.service

在这里插入图片描述

5、 检查方法
方法一:

在Linux系统中,打开火狐浏览器,右击点查看元素选择网络—>选择HTML、ws、其他
访问http://192.168.17.33 ,双击200响应消息查看响应头中包含Content-Encoding: gzip

方法二:

在windows系统中依次安装 Microsoft.NET4和fiddler软件,打开fiddler 软件选择inspectors —>选择Headers
浏览器访问http://192.168.17.33 ,双击200响应消息查看Content-Encoding: gzip

在这里插入图片描述

2)网页缓存

步骤:查看是否安装mod_deflate模块、修改配置文件,启用压缩功能、访问测试
1、 检查是否安装mod_deflate模块

apachecti -t -D DUMP_MODULES l grep “deflate”

2、 若没有安装mod_deflate模块,重新编译安装 Apache 添加到 mod_deflate模块

systemctl stop httpd.service

cd /usr/local/httpd/conf
mv httpd.conf httpd.conf. bak

yum -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 \
--enable-expires					#加入mod_expries模块

make &s make install 			#编译

3、 配置mod_expires模块启用

vim /usr/local/httpd/conf/httpd.conf

--52行--修改
Listen 192.198.80 .10:80
--111行--取消注释
LoadModule deflate _module modules/mod_expires.so		#开启mod_expires模块
--199行--取消注释,修改
ServerName www.kgc.com:80
--末行添加--
<IfModule mod_deflate.c>
ExpiresActive On			#打开网页缓存功能
ExpiresDefault "access plus 60 seconds"			#设置缓存60秒
</IfModule>

在这里插入图片描述
在这里插入图片描述
4.检查安装情况,启动服务

apachectl -t	#验证配置文件的配置是否正确
apachectl -t-D DUMP_MODULES l grep "expires"	#检查mod_expires模块是否已安装
expires_module (shared)				#已安装的正确结果
systemctl start httpd. service

5.测试缓存是否生效

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

方法一:

在Linux系统中,打开火狐浏览器,右击点查看元素选择网络—>选择HTML、ws、其他
访问http: / /192.168.80.10 ,双击200消息查看响应头中包含Expires 项

方法二:

在windows系统中依次安装Microsoft.NET4和fiddler软件,打开fiddler 软件选择inspectors —>选择Headers
浏览器访问http: //192.168.80.10 ,双击200消息查看Expires项
在这里插入图片描述

二、Apache的安全优化

1)隐藏版本信息

  • Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
  • 生产环境中要配置Apache隐藏版本信息

配置方法

vim /usr/ local/httpd/ conf / httpd.conf

--491行--取消注释
Include conf/extra/httpd-default.conf

vim /usr/local/httpd/conf/extra/httpd-default.conf
--55行--修改
ServerTokens Prod		#将原本的Full改为Prod,只显示名称,没有版本
#ServerTokens 表示 Server回送给客户端的响应头域是否包含关于服务器os类型和编译过的模块描述信息。

systemctl restart httpd.service

浏览器访问http:/ /192.168.80.10 ,双击200消息查看Server项

在这里插入图片描述

2)Apache防盗链(以模拟图片防盗为例)

1、 检查是否安装mod_rewrite模块

apachecti -t -D DUMP_MODULES l grep “rewrite”

2、 若没有安装mod_rewrite模块,重新编译安装 Apache 添加到 mod_rewrite模块

systemctl stop httpd.service

cd /usr/local/httpd/conf
mv httpd.conf httpd.conf. bak

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel

cd /opt/httpd-2.4.29/
./ configure \
--prefix-fusr/ local/httpd \
--enable-so \
--enable-rewrite \			#加入mod_rewrite模块
--enable-charset-lite \
--enable-cgi \
--enable-deflate					
--enable-expires					

make &s 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 granted

RewriteEngine on	#打开rewrite功能,加入mode_rewrite模块内容
RewriteCond %{HTTP_REFERER} !^http://kgc.com/ .*$ [NC]	#设置匹配规则
RewriteCond %{HTTP_REFERER} !^http://kgc.com$ [NC]
RewriteCond %{HTTP_REFERER} ! ^http://www.kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/$ [NC]
RewriteRule .*\.(gif l jpg l swf) $ http://www.kgc.com/error.png		#设置跳转动作
</ Directory>

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值