nginx配置反盗链防止阿里云oss图片资源被恶意访问
1)先在阿里云配置自有域名访问
2)在nginx里在刚刚配置的自有域名的server下配置以下内容:
location ~* \.(gif|jpg|png|swf|flv)$ {
proxy_pass https://xxx.oss-cn-shenzhen.aliyuncs.com; //xxx是oss对应的bucket名字
valid_referers ~\.abc\. ; // 表示referers在abc前后都是正则匹配的refers是合法的,可以有多个
if ($invalid_referer) {
return 403;
}
}
3)执行nginx.exe -s reload重新加载nginx配置文件,然后去测试,好像就好了
部分参考学习这位大神:https://www.cnblogs.com/iziyang/p/13124912.html
这个方法对在阿里云上解析的自有域名好像不好用(恳请各路大侠批评指正)
另外在使用这个方式之后打包文件中的static中的图片好像会丢失,我的解决方式是在当前server中加上下面这段
location ^~ /static/ {
root C:/soft/xxx/xxx/xxx; // 当前打包文件根路径
valid_referers ~\.abc\. ;
proxy_pass 当前server的地址;
}