一,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
二,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.png
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