apache网页与安装优化

网页优化
网页压缩 网页缓存

apache安全优化
配置防盗链
隐藏版本信息

1、配置网页压缩
网站随着用户访问量的增加和内容量的增加,网站的带宽会不断的增加,随之就是网站成本的增加。并且当内容量增大的时候,客户端如果带宽小,就会影响用户的体验。因此从这两方面考虑,网站的某些内容必须经过压缩之后再传给用户,然后在用户客户端进行解压,来实现双方共赢的效果。

apache 的压缩要用到mod_deflate模块,该模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。它的核心思想就是把文件先在服务器进行压缩,然后再进行传输,这样可以显著减少文件传输的大小。当传输完毕后,客户端游览器会重新对压缩过的内容进行解压缩。如果没特殊情况的话,所有的文本内容都应该能被gzip压缩,例如:html(php),js,css,xml,txt等。特殊情况就是像一些首页上有很多广告投放的js代码,由于需要每次加载进而进行来访信息统计,所以这些广告代码拥有者网站的js不会经过gzip压缩

首先,mod_deflate模块检查及安装

 /usr/local/httpd/bin/apachectl -M | grep deflate

如果出现以下结果:
deflate_module (static) #此种结果为DSO方式安装的
deflate_module (shared) #此种结果为编译安装方式安装的

编译安装 选择这种安装方法
这个用来添加模块的

cd /opt/httpd-2.4.37/

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate  

make && make install

vi /etc/httpd.conf

LoadModule deflate_module modules/mod_deflate.so   添加这一行

在这里插入图片描述

在这里插入图片描述

重启服务
systemctl restart httpd
apachectl -D DUMP_MODULES | grep deflate
在这里插入图片描述

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

在末尾添加这些内容

在这里插入图片描述
注:
第一行代表对什么样类型的内容启用gzip压缩
第二行代表压缩级别9
第三行代表启用deflate模块对本站点的输出进行gzip压缩

apachectl -t
在这里插入图片描述

cd /usr/local/httpd/htdocs/
在这同级目录下添加b.jpg
-----测试页----

vi index.html
<html>
<head>
<title>--压缩测试页--</title>
</head>
<body><h1>这是一个测试网页内容压缩的页面!!This is test Page!!</h1>
<img src=b.jpg / >
</body>
</html>

如果网页出现中文乱码问题,解决方法如下

vi /etc/httpd.conf
AddDefaultCharset utf-8 //进入配置文件在最下面添加这一行

访问192.168.80.102
在这里插入图片描述

然后访问网页抓包查看

2、配置网页缓存时间

apachectl -D DUMP_MODULES | grep expires

在这里插入图片描述

service httpd stop

cd /opt/httpd-2.4.37/

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-cgid \
--enable-deflate \
--enable-expires    //增加缓存模块
 
 make && make install
 
 vi /etc/httpd.conf
 
LoadModule expires_module modules/mod_expires.so

在这里插入图片描述

apachectl -t
在这里插入图片描述

缓存的用法有3种,分别是对全局,对目录,对虚拟主机

apachectl -D DUMP_MODULES | grep expires
在这里插入图片描述

对全局:
对全局的配置就是在apache主配置文件/etc/httpd.conf的末尾加入如下参数即可

 vi /etc/httpd.conf
末尾加入
<IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 60 seconds"
</IfModule>

在这里插入图片描述
//开启expires模块,并且对于http协议下任意格式的文档(html,css,js,图片等都是60秒后过期)

也可以指定格式类型的文件
ExpiresByType text/html "access plus 12 months"
ExpiresByType text/css "access plus 12 months"
ExpiresByType image/gif "access plus 12 months"
ExpiresByType image/jpeg "access plus12 12 months"
ExpiresByType image/jpg "access plus 12 months"
ExpiresByType image/png "access plus 12 months"
EXpiresByType application/x-shockwave-flash "access plus 12 months"
EXpiresByType application/x-javascript "access plus 12 months"
ExpiresByType video/x-flv "access plus 12 months"

service httpd start

b)对目录
在这里插入图片描述

c)对虚拟主机
对虚拟主机的配置就是在apache的虚拟主机配置文件httpd-vhost.conf中添加

service httpd restart

抓包测试:

3、配置防盗链

环境192.168.80.102 主机名zlf3 合法服务器
环境192.168.80.103 主机名zlf4 不合法服务器偷取图片的服务器,并用yum安装http服务

以上是在合法服务器上配置

   vi /usr/local/httpd/htdocs/index.html  
   
    <html>
    <title>I AM OK!</title>
    <body>
    <h1> Test Page! </h1>
    <img src="b.jpg">
    </body>
    </html>

访问192.168.80.102

在这里插入图片描述

以下是在非法服务器上配置80.103上
先安装http服务

yum install -y httpd

vi /var/www/html/index.html

<html>
<title>i am thief</title>
<body>
<h1> hei! </h1>
<img src="http://www.aa.com/b.jpg">
</body>
</html>

systemctl restart httpd

访问:

猜你喜欢

转载自blog.csdn.net/qeeezz11224/article/details/85260133