码迷,mamicode.com
首页 > Web开发 > 详细

(012)Nginx静态资源web服务_防盗链配置

时间:2020-05-10 18:49:24      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:请求   查看   启动   mes   添加   模块   二次   首页   image   

  防盗链目的:防止资源被盗用

  防盗链设置首要方式:区别哪些请求是非正常的用户请求

  基于http_refer防盗链配置模块语法:
  Syntax:valid_referers none | blocked | server_names | string ...;
  Default:-
  Context:server,location

  none:表示允许没有带referer信息的访问

  blocked:表示referer信息不是标准的http://域名这种方式过来的允许访问

  server_names:允许配置的server_name过来的访问,可以是IP,域名,支持表达式配置

  Nginx的日志中配置了变量$http_referer,它的值是上一次访问的地址,所有第一次访问为空的,测试如下:

  新建/opt/app/code/test_refer.html,准备wei.png图片/opt/app/code/images/wei.png

<html>
<head>
    <meta charset="utf-8">
    <title>imooc1</title>
</head>
<body style="background-color:red;">
    <img src="http://192.168.7.151/wei.png"/>
</body>
</html>

  配置文件添加首页访问路径,和图片访问路径

location ~ .*\.(jpg|gif|png)$ {
    root  /opt/app/code/images;
}

location ~ .*\.(html|htm)$ {
    root  /opt/app/code;
}

  技术图片

  重新启动nginx,并访问:http://192.168.7.151/test_refer.html,访问了两次服务端

  技术图片

  查看日志,发现第一次的$http_referer是空,第二次值是第一次访问的地址,如下:

技术图片

  修改配置文件,将server_name修改为服务器地址192.168.7.151,并valid_referers配置

location ~ .*\.(jpg|gif|png)$ {
    valid_referers none blocked 192.168.7.151;
    if ($invalid_referer) {
        return 403;
    }
    root  /opt/app/code/images;
}  

  技术图片

  重新启动nginx服务,分别执行下面3条命令,查看是否允许访问

curl -I http://192.168.7.151/wei.png
curl -e "http://www.baidu.com" -I http://192.168.7.151/wei.png
curl -e "http://192.168.7.151" -I http://192.168.7.151/wei.png

  技术图片

 

 

 

 

 

  

(012)Nginx静态资源web服务_防盗链配置

标签:请求   查看   启动   mes   添加   模块   二次   首页   image   

原文地址:https://www.cnblogs.com/javasl/p/12864249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!