您的位置:首页 > 运维架构 > Nginx

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

2019-11-17 22:42 1246 查看

配置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服务,成功开启防盗链功能

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: