欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx防盗链配置

程序员文章站 2022-07-07 23:14:44
...

作用放置其他人盗用系统静态资源

正常访问

location ~* .\(png|gif|png)${
    root /usr/static;
}

此时可以通过浏览器可以正常访问到静态资源

也可以通过命令行访问

curl --referer http://baidu.com -| http://192.168.12.120/logo.png

在curl通过–referer选项来指定我们是从哪里跳转的 -|参数则只显示 http response的头信息

表示是通过baidu.com来访问这个地址的

加防盗链

valid_referers none | blocked | server_names | string

none 表示header中没有Referer字段的情况,即直接通过地址栏访问,不是通过网站或链接的跳转

blocked header中有Referer字段,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头

字符串 配置域名列表,支配通配符、正则表达式写法

location ~* .\(png|gif|png)${
    root /usr/static;
    valid_referers none blocked *.yhsblog.cn;
    if($invalid_referer) {
        #rewrite ^/ http://www.youdomain.com/404.jpg;
        return 403;
        break;
    }
    access_log off;
}

这么写表示:如果"refer为空"、或"refer不以http/https开头"、或"域名为yhsblog.cn的server_name" 都是有效的refer,也即valid_referers的值为0(允许访问),除此之外为1(返回403)。

如果指向根据域名匹配,只保留域名列表即可
valid_referers *.yhsblog.cn;

相关标签: Nginx nginx