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 加载速度更快

配置网页压缩功能

在配置httpd.conf中配置开启gzip功能

		AddOutputFilterByType DEFLATE text/html text/plain text/css text/xmltext/javascript image/png image/jpg image/jpeg application/x-httpd-php application/x-javascript
	DeflateCompressionLevel 9
	SetOutputFilter DEFLATE

重启Apache服务,再用火狐浏览器访问测试网站
在浏览器中选择”查看元素“可以看到有”Accept-Encoding:gzip“ 表示压缩已经生效

配置网页的缓存时间

通过mod_expire模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求
启用mod_expire模块后,会自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的

修改httpd.com配置文件
启用mod_expires模块,并设置http协议下任意格式的文档均60秒后过期

	<IfModule mod_expires.c>
		ExpiresActive On
		ExpiresDefault"access plus 60 seconds"
	</IfModule>

重启httpd服务

修改httpd.conf配置文件

		启用mod_expires模块,并设置http协议下任意格式的文档均60秒后过期
		<IfModule mod_expires.c>
			ExpiresActive On
			ExpiresDefault "access	plus	60	seconds"
		<IfModule>

重启httpd服务

隐藏版本信息

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

扩展知识

下面是ServerTokens的一些可能的赋值:
ServerTokens Prod 显示”Server:Apache“
ServerTokens Prod显示“Server: Apache”
ServerTokens Major 显示“Server: Apache/2"
ServerTokens Minor显示“Server: Apache/2.2"
ServerTokens Min 显示“Server: Apache/2.2.17"
ServerTokens OS显示“Server: Apache/2.2.17 (Unix)”
ServerTokens Full 显示“Server: Apache/2.2.17 (Unix)PHP/5.3.5”

配置Apache实现防盗链

配置操作演示

	修改配置文件启用防盗链功能并设置规则
		RewriteEnfine On
		RewriteCond %{HTTP_REFERER} !^http://kxr.com/.*$[NC]

安装Apache:

tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

在这里插入图片描述

装5个依赖包:

yum -y install  pcre-devel zlib-devel expat-devel perl

在这里插入图片描述
配置网页缓存:
cd httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-cgid --enable-deflate --enable-expires

在这里插入图片描述

make && make install

在这里插入图片描述

	cd
	cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
	vi /etc/init.d/httpd

在这里插入图片描述
添加内容:
#chkconfig: 35 99 22
#description: Apache HTTP Server
在这里插入图片描述
保存退出

查看结果
chkconfig --add httpd
chkconfig --list

在这里插入图片描述

因为要使用apache很多命令所以创建链接
ln -s /usr/local/httpd/bin/* /usr/bin/
ln -s /usr/local/httpd/conf/httpd.conf /etc/

改域名
vi /etc/httpd.conf

在这里插入图片描述

启动deflate
在这里插入图片描述
启动apache
检查模块启动
apchectl -D DUMP_MODULES | grep deflate

在这里插入图片描述
再添加末尾文件

	vi /etc/httpd.conf
	AddOutputFilterByType DEFLATE text/html text/plain text/css text/xmltext/javascript image/png image/jpg image/jpeg application/x-httpd-php application/x-javascript
	DeflateCompressionLevel 9
	SetOutputFilter DEFLATE

在这里插入图片描述

记住 检查一下语法
在这里插入图片描述
重新启动httpd、查看是否开启

	systemctl stop	httpd
	systemctl	start	httpd
	netstat -anpt | grep httpd

在这里插入图片描述

压缩网页缓存 在最后添加配置文件

在这里插入图片描述
查看语法

在这里插入图片描述

版本隐藏

vi /etc/httpd.conf
Include conf/extra/httpd-default.conf  //去掉注释

在这里插入图片描述

在这里插入图片描述

彻底隐藏

进入httpd里面修改

vi ./include/ap_release.h
#define AP_SERVER_BASEPRODUCT "Apache"
vi ./os/unix/os.sh
#Define PLATFORM"IIS"

在这里插入图片描述

改完 重新编译安装Apache

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

在这里插入图片描述
开启重写功能
加粗样式

在这里插入图片描述
然后检查语法

在这里插入图片描述

重开服务就完成了

在这里插入图片描述

防盗链

删除域名配置
cd /usr/local/httpd/htdocs/
ls
rm -rf index.html
在这里插入图片描述

编辑配置文件

在这里插入图片描述

浏览器上访问
在这里插入图片描述

在另一台主机上(192.168.100.200)
安装httpd,配置域名

yum -y install httpd
vi /var/www/html/index.html
systemctl stop firewalld
setenforce 0
systemctl start httpd

this is my web site.

在这里插入图片描述

配置Apache实现防盗链

 vi /etc/httpd.conf 
AllowOverride All
 RewriteEngine On
 RewriteCond %{HTTP_REFERER} !^http://192.168.100.111/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://192.168.100.111/* [NC]
RewriteCond %{HTTP_REFERER} !^http://192.168.100.111$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://192.168.100.111/error.png [R,NC]

在这里插入图片描述

 httpd -t
 systemctl stop httpd
 systemctl start httpd

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值