阿里云OSS开启防盗链上传视频报错XHR error (req “error“), PUT https://file.test.net/?referer= -1,Window浏览器正常/苹果浏览器异常

阿里云OSS开启防盗链后,上传视频(分片上传)时苹果电脑浏览器报错XHR error (req “error”), PUT https://file.test.net/?referer= -1 (connected: false, keepalive socket: false),导致无法上传文件

vue项目通过OSS Browser.js SDK调用相关文件操作接口

01.问题

1.OSS开启防盗链后,报请求头还是没有配置referer
2.在封装的request.js中已配置referer
3.vue.config.js代理配置中已配置referer
控制台错误如下图所示

问题错误截图

02.问题分析

1.上传图片时并未出现该错误
2.window 电脑上传视频即使控制台输出错误,也能正常运行
3.苹果 电脑上传视频时控制台也会输出错误,但不能继续运行

03.问题解决

1.需在请求阿里云的请求方法中配置headers
2.headers中配置参数为’Referer’: ‘www.test.net’ (阿里云OSS控制台绑定的OSS源站点的域名)
3.阿里云OSS控制台绑定的OSS源站点的域名最好添加上本地ip地址(192.168.88.*),否则本地或测试环境无法访问阿里OSS文件

配置如下图所示
配置信息

特殊情况

请求阿里云sdk前调用了putBucketReferer(client) 方法,如下图所示
错误方法
图中的方法也会出现该错误,去掉后即可恢复正常

参数介绍如下图所示
putBucketReferer参数介绍

猜你喜欢

转载自blog.csdn.net/mrliucx/article/details/130356948