如何搞定Apache的网页和安全?

本文详细介绍了如何通过安装mod_deflate模块实现Apache网页压缩以提高性能,并讲解了如何隐藏版本信息和配置防盗链以增强安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,Apache网页优化

为了适应现代的需求,自然不能和以前一样用默认配置
我们可以安装deflate模块来提示apache的性能与稳定性。

1.1网页压缩
启动网页压缩的步骤:

  • 查看是否安装mod_deflate模块
  • 修改配置文件,启用网页压缩功能
  • 访问测试
    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.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
–51行–修改 注释52行

Listen 192.198.80.10:80
 # Listen 80

在这里插入图片描述

–105行–取消注释

LoadModule deflate module modules/mod deflate.so #开启mod deflate 模块

在这里插入图片描述

–198行–取消注释,修改

ServerName www . cyz. 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.检查安装情况,启动服务

apachect1 -t #验证配置文件的配置是否正确
在这里插入图片描述

apachectl_-t -D DUMP_ MODULES l grep “deflate” #检查 mod deflate 模块是否已安装

deflate module (shared) #已安装的正确结果

在这里插入图片描述

systemctl start httpd.service

5.测试 mod_deflate 压缩是否生效

cd /usr/local/httpd/htdocs
先将game.jpg文件传到/usr/local/httpd/htdocs目录下
vim index.html

It works!!!!

在这里插入图片描述

二,Apache的安全优化

2.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 #重新启动服务

刷新下网页:
在这里插入图片描述
2.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.bak3 #文件备份
yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel #安装相关程序

cd /opt/httpd-2.4.29/ #切换目录
#添加 mod rewrite模块
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expires --enable-rewrite
make -j4 && make install #重新编译安装
3.配置 mod_rewrite 模块启用

vim /usr/local/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so

在这里插入图片描述

RewriteCond %{HTTP REFERER}!^http;//www.cyz.com.$ [NC]

的字段含义∶ "8{HTTP_REFERER}"∶ 存放一个链接的 URL,表示从哪个链接访问所需的网页。 "
!^∶ 表示不以后面的字符串开头。
"http://www.cyz.com"∶ 是本网站的路径,按整个字符串匹配。 .$"∶ 表示以任意字符结尾。 "【NC】 "∶
表示不区分大小写字母。

RewriteRule ..(gifljpg|swf)$ http;//www.clj.com/error.png 的字段含义∶
". “∶表示匹配一个字符。
““∶ 表示匹配 0 到多个字符,与”.“合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用”+“表示。
“.“∶ 在这里的”“是转义符,”.“就代表符号”.“的意思。因为”.“在指令中是属于规则字符,有相应的含义,如果需要匹配, 需要在前面加个转义符””,其它规则字符如果需要匹配, 也做同样处理。
“(gifljpglswf)“∶ 表示匹配"gif”、“jpg”、“swf"任意一个,”$“表示结束。最后的规则是以”.gif”、”.jpg”、”.swf"结尾,前面是1到多个字符的字符串,也就是匹配图片类型的文件。
"http∶/www.clj.com/error,pnq"∶ 表示转发到这个路径 。

整个配置的含义是 使用本网站以外的网站域名 访问本站的图片文件时,显示 error.png 这个图片。

Options Indexes FollowSymLinks
AllowOverride None
Require all granted

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://clj.com/.$ [NC]
RewriteCond %{HTTP_REFERER} !^http://clj.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.clj.com/.
$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.clj.com/$ [NC]
RewriteRule .(jpg|jpeg|gif|png) error.pngerror

4.网页准备
Web源主机配置∶

cd /usr/local/httpd/htdocs
将1.jpg、3.jpg文件传到/usr/local/httpd/htdocs目录下

vim index.html

this is clj.com!

echo “192.168.100.254 www.cyz.com”>> /etc/hosts
echo “192.168.100.10 www.dl.com” >>/etc/hosts

盗链网站主机∶

yum install -y httpd
cd /usr/local/httpd/htdocs #yum安装的httpd服务的默认路径为/var/www/html/
vim index.html

this is dl.com!

echo “192.168.100.254 www.cyz.com”>> /etc/hosts
echo “192.168.153.10 www.dl.com” >>/etc/hosts
5.在盗图网站主机上进行浏览器验证 http://www.dl.com

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值