nginx盗链与防盗链(非常详细)

我们这里直接拿nginx1.20.1的版本演示(epel源目前默认下载版本)

我们这里准备两台nginx主机,一个做盗链主机,一台被盗主机

      ip  名称 备注
172.16.1.10 nginx01 被盗链主机
172.16.1.11  nginx02 盗链主机

目录

一、配置盗链主机

 二、配置被盗主机

 三、做了防盗链和未做防盗链对比


一、配置盗链主机

1、我们直接下载安装nginx即可:

yum -y install epel-release && yum -y install nginx

2、安装完成以后配置一个主机地址:  #这里我们配置被盗机的ip和网址

vi /etc/hosts

 

 记住这俩网址

3、配置一个扩展配置文件:

vi /etc/nginx/conf.d/nginx.conf

4、简单写一个nginx配置文件:

 server {
         listen       80;
         server_name  www.123.com;

          charset utf-8;

         location / {
             root   /web;
             index  index.html index.htm;
         }
}

5、创建/web 并写入内容

 mkdir /web

内容如下:  

<img src="http://www.gxd.com/img/logo.jpg"> #表示盗取对方域名下的img目录下的logo.jpg图片

<html>
<body>
<br>盗链图片</br>
<img src="http://www.gxd.com/img/logo.jpg">
</body>
</html>

6、检查: 

nginx -t

7、改完后重启nginx:

systemctl restart nginx

 二、配置被盗主机

1、同样装nginx

yum -y install epel-release && yum -y install nginx

 2、然后通过gitee下载一个开源模板:

新零售/网店/商城 - HTML - 新零售/网店/商城 - 开源软件 - Gitee.com

随意下一个有图片就行

 3、创建个目录将内容导入到文件内:

mkdir /www

4、导入的内容: #在这文件内找你的index.html文件  我的在htmls目录下面

 5、编写个nginx配置文件

vi /etc/nginx/conf.d/www.conf
server {
        listen 80;
        server_name www.gxd.com;  #刚才设置的网站域名

        location /{
                root /www/htmls;  #在这个目录下寻找主页index.html文件
                index index.html index.htm;

        }
#        location ~* \.(.gif|jpg|png|jpeg)$ { #匹配.gif jpg png jpeg结尾
#                root /www/;          # 设置我们网站的目录下目录下
#                valid_referers none blocked www.gxd.com; #原是站点访问的是www.gxd.com上 不做禁止
#               if ($invalid_referer){    #当不是我允许的域名访问我的时候,重定向到www.test.com上去
#                       rewrite ^/ http://www.text.com;
#       }
#       }
 }
# server {   #设置我们www.text.com的网站
#        listen 80;
#        server_name www.test.com;

#       location /{
#                root /test; #这个文件夹下可以添加内容 或者什么都不加
#                index index.html index.htm;
#       }
# }

 我们先加入防盗链的机制: #这里就先设置为备注了,方便对比  如果想直接启用的话请去掉 第一列的#号

6、检查 

nginx -t

7、启动nginx

 systemctl restat nginx

接下来我们用本机访问一下看看出现内容没有:

直接用curl命令访问

curl 172.16.1.10

看到已经有了网页:

 网页访问显示内容:   #注意我们盗链主机上已将logs图片盗取下来

 三、做了防盗链和未做防盗链对比

未做防盗链显示内容

我们访问一下我们盗链机的网址 可以看到被盗的图片出来了 

做了防盗链:

注意将我们刚才配置文件内的#号去掉

 然后从新载入nginx

systemctl reload nginx

 这次我们再用盗链机访问一下看看结果:

 看到图片已经不显示 ,以上就是全部试验了

猜你喜欢

转载自blog.csdn.net/weixin_58279299/article/details/122005584