Nginx 防盗链(nginx防盗链)

  本篇文章为你整理了Nginx 防盗链(nginx防盗链)的详细内容,包含有nginx防盗链原理 nginx防盗链 nginx 防盗链 2021 nginx 防盗链 错误码 Nginx 防盗链,希望能帮助你了解 Nginx 防盗链。

  防盗链其实就是 防止别的站点来引用你的 资源, 占用你的流量

  在了解nginx 防盗链之前 我们先了解一下 什么是 HTTP 的头信息 Referer,当浏览器访问网站的时候,一般会带上Referer,告诉后端该是从哪个页面过来的

  nginx的 防盗链功能基于 HTTP协议的Referer机制,通过判断Referer对来源进行 识别和判断 做出一定的处理

  nginx会通就过查看referer自动和valid_referers后面的内容进行匹配,如果匹配到了就将invalid_referer 变量置位1 , 如果没有匹配到 , 则 将 invalid_referer变量置0 , 匹配的过程中不区分大小写.

  
如果你的图片没有做防盗链的控制 , 像如下配置一样, 那么其他人就可以直接使用你的文件图片等等

  

http {

 

   include mime.types;

   default_type application/octet-stream;

   sendfile on;

   keepalive_timeout 65;

  
 

 

  可以看到在其他机器上如 www.testbackend.com 直接引入 www.testfront.com的资源文件 , 也是可以展示的

  配置nginx防盗链

  如果配置了valid_referers

  nginx会通就过查看referer自动和valid_referers后面的内容进行匹配,如果匹配到了就将invalid_referer 变量置位1 , 如果没有匹配到 , 则 将 invalid_referer变量置0 , 匹配的过程中不区分大小写.

  

 location ~* .(gifjpgpng) {

 

   # 配置校验 referer , 意思就是如果referer 是172.16.225.111 或者 www.testfront.com 都通过

   valid_referers 172.16.225.111 www.testfront.com;

   if ($invalid_referer) {

   return 403;

   root /www/static;

  

 

  此时再访问 www.testbackend.com 去引用 www.testfront.com 的资源 就不能访问了

  3. 防盗链的 具体配置

  从上面可以看出, 通过配置 valid_referers 后面添加校验的域名和ip , nginx 会自动进行 http的 referer 的匹配

  防盗链除了可以配置 ip 域名外, 还能配置 如 none 和 blocked

  
blocked:在Header中的Referer不为空,但是该值被防火墙或代理进行伪装过,如不带"http://" 、"https://"等协议头的资源允许访问。

  
server_names:指定具体的域名或者IP

  可以支持正则表达式和*的字符串。如果是正则表达式,需要以~开头表示

  以上就是Nginx 防盗链(nginx防盗链)的详细内容,想要了解更多 Nginx 防盗链的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: