加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Nginx 怎样配置防盗链

发布时间:2021-06-11 01:22:55 所属栏目:Linux 来源:互联网
导读:一、单刀直入,先上nginx配置文件 server{ listen80; server_namewww.test.com; root/data/web/; indexindex.phpindex.html; access_log/data/logs/nginx/biao.m

一、单刀直入,先上nginx配置文件

server { 

        listen       80; 

        server_name  ; 

  root  /data/web/; 

        index index.php index.html; 

        access_log  /data/logs/nginx/biao.madacode.access.log  main; 

 

  location /{ 

    root /home/data/; 

  } 

 

        error_page   404   /usr/local/nginx/html/404.html; 

      

  location ~ .*.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ 

  { 

      valid_referers none blocked server_names *.test.com ; 

      if ($invalid_referer) { 

    return 403; 

      } 

      expires    24h; 

      access_log off; 

 

  } 

        location ~ /. 

        { 

            deny all; 

        } 

 

二、防盗链核心配置文件解释

location ~ .*.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$ 

    valid_referers none blocked server_names *.test.com ; 

    if ($invalid_referer) { 

  return 403; 

    } 

    expires    24h; 

    access_log off; 

 

vaild_referers 有效的引用连接,如下,否则就进入$invaild_refere,返回403 forbiden。

1. none

"Referer" 来源头部为空的情况

2. blocked

"Referer"来源头部不为空,但是里面的值被代理或者防火墙删除了,这些值都不以或者https://开头.

3. server_names

"Referer"来源头部包含当前的server_names(当前域名)

三、模拟案例测试

添加 --referer 模拟引用,看结果直接403.证明上面配置是OK的

[root@test]# curl --referer    -I  

HTTP/1.1 403 Forbidden 

Server: Tengine 

Date: Wed, 21 Aug 2019 09:54:44 GMT 

Content-Type: text/html 

Content-Length: 639 

Connection: keep-alive 

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!