Nginx优化之防盗链

一、概述

在企业网站中,一般都要配置防盗链功能,以免网站的内容被非法盗用,造成损失;配置nginx防盗链很简单,只需要在nginx配置文件中加入一段条件跳转语句即可。

二、实验环境

在vmware虚拟机中开2台linux主机,一台源主机,一台盗链主机。

三、实验步骤

配置Nginx源主机----》》配置盗链主机-----》》查看结果-----》》配置防盗链----》》查看结果

四、配置盗链

4.1、配置源主机

安装Nginx

安装环境依赖包

[root@localhost ~]# yum -y install gcc gcc-c++ pcre-devel zlib-devel

在nginx官网下载安装包(我这边用的1.12.2版本),解压到opt目录,创建程序用户。

[root@localhost LNMP-C7]# tar zxvf nginx-1.12.2.tar.gz -C /opt
[root@localhost LNMP-C7]# useradd -M -s /sbin/nologin nginx

进入解压的/opt/nginx-1.12.2/目录中执行configure脚本

[root@localhost LNMP-C7]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module

编译并安装

[root@localhost nginx-1.12.2]# make && make install

在nginx首页html中插入图片

[root@localhost nginx-1.12.2]#  cp /home/LNMP-C7/mao.jpg  /usr/local/nginx/html/
[root@localhost nginx-1.12.2]# cd /usr/local/nginx/html
[root@localhost html]# ls
50x.html  index.html  mao.jpg
[root@localhost html]# vim index.html 
<!DOCTYPE html>
<h1>Welcome to nginx!</h1>
<img src="mao.jpg"/>  ##加入的图片

创建软连接方便命令管理,关闭防火墙启动nginx服务。

[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin
[root@localhost nginx-1.12.2]# systemctl stop firewalld.service  ##关闭防火墙
[root@localhost nginx-1.12.2]# setenforce 0
[root@localhost nginx-1.12.2]# nginx  ##启动nginx
[root@localhost nginx-1.12.2]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7996/nginx: master 

修改hosts文件,设置域名和IP映射关系

[root@localhost html]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.142 www.yuan.com

通过域名验证源主机nginx首页
在这里插入图片描述

4.2、配置盗链主机

安装apache服务

[root@localhost ~]# yum install httpd -y

修改hosts文件,设置域名和IP映射关系

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.143 www.daolian.com
192.168.5.142 www.yuan.com  
                          

配置apache首页,配置盗链

[root@localhost ~] vim /var/www/html/index.html 
<h1>this is dao lian</h1>
<img src="http://www.yuan.com/mao.jpg"/> ##盗链路径
                                

4.3、验证盗链结果

启动apache服务,访问apache首页,发现可以直接盗链源主机的图片

[root@localhost ~]systemctl start httpd

在这里插入图片描述

五、配置防盗链

5.1、配置源主机

在源主机Nginx配置文件中加入防盗链规则
注意:该规则需要放在sever段落中

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
location ~* \.(jpg|gif|swf)$ {
valid_referers none blocked www.yuan.com;   ###指定可以访问域名
 if ($invalid_referer) {                ##如果不是该域名
 rewrite ^/ http://www.yuan.com/error.png;    ##则跳转到错误页面
}
}

在这里插入图片描述
复制error图片到nginx的html中

[root@localhost ~]# cp   /home/LNMP-C7/error.png  /usr/local/nginx/html/
[root@localhost ~]# ls  /usr/local/nginx/html/
50x.html  error.png  index.html  mao.jpg

5.2、验证防盗链结果

盗链主机访问apache主页
在这里插入图片描述

发布了43 篇原创文章 · 获赞 56 · 访问量 7899

猜你喜欢

转载自blog.csdn.net/weixin_42953006/article/details/103730932
今日推荐