Nginx服务优化网页压缩与防盗链

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx服务优化网页压缩与防盗链相关的知识,希望对你有一定的参考价值。

配置nginx实现网页压缩功能

Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装。可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。

压缩功能参数讲解

  1. gzip on:开启gzip压缩输出
  2. gzip_min_length 1k:用于设置允许压缩的页面最小字节数
  3. gzip_buffers 4 16k:表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
  4. zip_http_version 1.0:用于设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,但处理最慢,也比较消耗服务器CPU资源
  5. gzip_comp_level 2:用来指定gzip压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理速度最慢,使用默认即可
  6. gzip_types text/plain:压缩类型,是就对哪些网页文档启用压缩功能
  7. gzip_vary on:选项可以让前端的缓存服务器缓存经过gzip压缩的页面

1.关闭防火墙和增强性安全功能

[root@localhost ~]# systemctl stop firewalld.service    //关闭防火墙
[root@localhost ~]# setenforce 0   //关闭增强性安全功能
[root@localhost ~]# 

2.用win10虚拟机访问nginx服务,并用fiddler工具抓包(未开启压缩)

技术图片

技术图片

3.修改配置文件开启压缩功能

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain application/x-javascript text/css image/jpeg image/png image/gif application/xml text/javascript application/x-httpd-php application/javasrcipt application/json;
    gzip_disable "MSIE [1-6].";   //IE浏览器6版本以上开启压缩功能
    gzip_vary on;
[root@localhost ~]# service nginx restart    //重启服务
[root@localhost ~]# 

4.再次用win10虚拟机访问nginx服务,并用fiddler工具抓包(压缩功能开启)

技术图片
技术图片

配置Nginx实现防盗链

  • 在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失
  • Nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现防盗链处理

1.将网站图片与防盗链图片复制到站点目录下

[root@localhost ~]# mkdir /mnt/tools
[root@localhost ~]# mount.cifs //192.168.100.50/tools /mnt/tools/
Password for root@//192.168.100.50/tools:  
[root@localhost ~]# cp /mnt/tools/forbid.png /usr/local/nginx/html/    //防盗链图片
[root@localhost ~]# cp picture.jpg /usr/local/nginx/html/    //网站图片
[root@localhost ~]# cd /usr/local/nginx/html/
[root@localhost html]# ls
50x.html  forbid.png  index.html  picture.jpg
[root@localhost html]# 

2.在首页文件添加图片引用

[root@localhost html]# vim index.html
<h1>Welcome to nginx!</h1>
<img src="picture.jpg"/>   //添加
[root@localhost html]# 

3.安装dns服务

[root@localhost html]# yum install bind -y
..........//省略安装过程
[root@localhost html]# 

4.修改主配置文件

[root@localhost html]# vim /etc/named.conf 
options {
        listen-on port 53 { any; };   //将127.0.0.1改为any
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };   //将localhost改为any
[root@localhost html]# 

5.修改区域配置文件

[root@localhost html]# vim /etc/named.rfc1912.zones

zone "abc.com" IN {   //添加区域
type master;
file "abc.com.zone";
allow-update { none; };
};
[root@localhost html]#

6.修改区域数据配置文件

[root@localhost html]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost abc.com.zone   //复制一份模板并重命名
[root@localhost named]#

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.52.131   //添加解析地址
[root@localhost named]# systemctl start named    //开启服务
[root@localhost named]#

7.在win10-1主机新建文本文档输入以下内容,并重命名为index.html

<html>
 <head>
  <title>盗链网站</title>
 </head>
 <body>
  <h1>this is test web</h1>
  <img src="http:www.abc.com/picture.jpg"/>   //盗链路径
 </body>
</html>

技术图片
技术图片

8.按下列步骤开启win10-1系统的web服务

技术图片
技术图片
技术图片
技术图片

9.将文件index.html移动到C盘的inetpub目录的子目录wwwroot下

技术图片

10.分别将搭建盗链网站的win10-1主机和测试主机win10-2的dns地址改为Linux虚拟机地址

技术图片

技术图片

11.查看win10-1主机的IP地址

技术图片

12.用win10-2主机分别访问nginx服务站点和win10-1主机的web服务,成功盗链nginx服务站点的图片

技术图片
技术图片

13.修改nginx服务配置文件,开启防盗链功能

[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf

        location ~*.(jpg|gif|swf)$ {
                valid_referers none blocked *.abc.com abc.com;
                if ( $invalid_referer ) {
                   rewrite ^/ http://www.abc.com/forbid.png;
                }
        }
[root@localhost named]# service nginx restart 
[root@localhost named]#

14.再次用win10-2主机分别访问nginx服务站点和win10-1主机的web服务,成功开启防盗链功能

技术图片

技术图片

以上是关于Nginx服务优化网页压缩与防盗链的主要内容,如果未能解决你的问题,请参考以下文章

Nginx优化与防盗链

Web服务------Nginx网页优化(隐藏版本号,日志分割,更改进程数,网页压缩,防盗链详解)

Nignx优化与防盗链

Nginx 网页优化与防盗链部署

Nginx优化与防盗链技术

Nginx网页与安全优化