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配置防盗链
下一篇: C语言中的变量