通常站点,都会想让自己网站的视频和图片,免被盗用,毕竟视频流量,花的都是白花花银子 首先我们没有配置防盗链的情况下,放开静态资源你的访问。我们来看看效果
location ~* .*\.(gif|jpg|ico|png|css|svg|js)$ {
root /usr/local/nginx/static;
}
浏览器正常访问
通过curl来模拟其他访问源访问
curl --referer http://baidu.com -I http://192.168.12.120/logo.png
我们还可以在curl通过–referer选项来指定我们是从哪里跳转过来的 -I 参数则只显示 http response 的头信息
加上防盗链设置
location ~* .*\.(gif|jpg|ico|png|css|svg|js)$ {
root /usr/local/nginx/static;
valid_referers none blocked *.gupao.com ;
if ($invalid_referer) {
#rewrite ^/ http://www.youdomain.com/404.jpg;
return 403;
break;
}
access_log off;
}
浏览器直接访问可以
设置来源网站发现403了
说明我们的防盗链配置OK了
location ~* .*\.(gif|jpg|ico|png|css|svg|js)$ {
root /usr/local/nginx/static;
valid_referers none blocked *.gupao.com ; // 有效的来源
if ($invalid_referer) { // 无效的来源的话就给404
#rewrite ^/ http://www.youdomain.com/404.jpg;
return 403;
break;
}
access_log off;
}
none “Referer” 来源头部为空的情况 blocked “Referer”来源头部不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头.