Nginx服务优化网页压缩与防盗链
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx服务优化网页压缩与防盗链相关的知识,希望对你有一定的参考价值。
配置nginx实现网页压缩功能
Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能,允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装。可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。
压缩功能参数讲解
- gzip on:开启gzip压缩输出
- gzip_min_length 1k:用于设置允许压缩的页面最小字节数
- gzip_buffers 4 16k:表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
- zip_http_version 1.0:用于设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,但处理最慢,也比较消耗服务器CPU资源
- gzip_comp_level 2:用来指定gzip压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理速度最慢,使用默认即可
- gzip_types text/plain:压缩类型,是就对哪些网页文档启用压缩功能
- 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服务优化网页压缩与防盗链的主要内容,如果未能解决你的问题,请参考以下文章