Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

Nginx防盗链设置

  

?对于图片来说,网站,如果想使用B网站的图片,可以直接写上B网站图片的链接地址,或者将B网站的图片通过右键另存为的方式下载到本地,然后在页面上使用。如果B网站不想一个网站这么干了,那么B网站可以采取防盗链的措施来干这个工作,结果就是,一个网站想请求所需要的资源,通过url的方式,获取的可能不是原来的图片了,出现404或者别的图片替代了。如果通过浏览器直接打开图片url,那么仍然有可能显示404,这就是防盗链。

  

?下面我们先进行盗链的操作过程:就是如何做盗链网站——盗取别人(其他服务器)的图片

  

?环境部署准备:一台手工编译完好的nginx服务器(Centos7),一台做盗链的win10虚拟机,一台用作测试的win10-1主机

  

1. nginx服务器上的nginx服务为开启状态

  
 <代码类=" language-shell "> [root@localhost nginx-1.12.2] # netstat natp | grep nginx
  tcp 0 0 0.0.0.0:80 0.0.0.0: * 18676/nginx听:主人
   
  

2. nginx服务器上的站点目录下有0. jpg图片并且将其相对路径写入到index . html文件中

  
 <代码类=" language-shell "> [root@localhost html] # ls
  0. jpg 50 x。html index . html
  [html] root@localhost # vim index . html
  [html] root@localhost # sed - n 15便士的index . html
  & lt; img src=" https://www.yisu.com/zixun/0.jpg "/比;
   
  

3. nginx服务器上配置域名解析:参考博客:nginx虚拟主机配置第一个步骤,然后在本地火狐浏览器中验证

  
 <代码类=" language-shell "> [root@localhost html] # netstat natp | grep命名
  tcp 0 0 192.168.68.145:53 0.0.0.0: * 72573/叫听
  tcp 0 0 127.0.0.1:53 0.0.0.0: * 72573/叫听
  tcp 0 0 127.0.0.1:953 0.0.0.0: * 72573/叫听
  tcp6 0 0:: 1:53::: * 72573/叫听
  tcp6 0 0:: 1:953::: * 72573/叫听
   
  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

4. win10和win10-1虚拟机上都将网络dns域名服务器地址设置为nginx服务器的ip地址并且在命令行验证是否正常解析

  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

5。在做盗链的win10虚拟机上进行如下配置:

  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

以上就是模拟盗链配置的过程了。

  

开始验证盗链是否设置成功

  

在win10上先进行测试:输入域名也可以

  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

win10的IP地址:

  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

win10-1上进行测试

  

 Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

  

以上就是盗链配置的操作过程啦!

  

盗链是可耻的,因为这相当于是“借鸡使egg"了,不仅盗取别人的资源,还占用别人的服务器带宽,从而使自己获益。

  

因此我们需要对此进行防护,也就是进行防盗链设置,具体操作过程如下:

  
 <代码类=" language-shell "> [root@localhost html] # vim/usr/local/nginx/conf/nginx.conf
  [html] root@localhost # sed - n/usr/local/nginx/conf/nginx.conf 56岁的61 p
  ~ * \位置。(jpg | gif | swf) $ {
  valid_referers没有屏蔽* .lokott.com lokott.com;
  如果(invalid_referer美元){
  重写^/http://www.lokott.com/error.png;
  }
  }
  [html] root@localhost # ls
  0. jpg 50 x。html错误。png index . html
  # vim/usr/local/nginx/conf/nginx.conf root@localhost html
  [html] root@localhost # sed - n/usr/local/nginx/conf/nginx.conf 56岁的61 p
  ~ * \位置。(jpg | gif | swf) $ {
  valid_referers没有屏蔽* .lokott.com lokott.com;
  如果(invalid_referer美元){
  重写^/http://www.lokott.com/error.png;
  }
  }
  # vim/etc/init. root@localhost htmld/nginx//编写nginx控制脚本
  [html] root@localhost #猫/etc/init.d/nginx
  # !/bin/bash
  # chkconfig: 20 - 99
  描述:Nginx服务控制脚本
  学监="/usr/地方/nginx/sbin/nginx”
  PIDF="/usr/地方/nginx/日志/nginx.pid”
  “1美元”
  开始)
  美元掠夺
  ;;
  停止)
  杀- s退出美元(猫PIDF美元)
  ;;
  重启)
  0美元停止
  $ 0开始
  ;;
  重新加载)
  杀- s玫瑰(猫PIDF美元美元)
  ;;
  *)
  回声”用法:$ 0{启动|停止| |重启重载}”
  出口1
  esac
  退出0
  [html] root@localhost # nginx停止服务
  [html] root@localhost #服务nginx的开始
  

Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解