公司几个系统都用到阿里云的OSS来作文件存储,有几次碰到No ‘Access-Control-Allow-Origin‘的异常问题,挠掉几根白发,才找到问题的所在。
异常截图:
具体解决步骤如下:
1.登录阿里云,进入oss的bucket列表
2.选中对应的bucket名称,进入bucket详情页面,点击“跨域设置”菜单
3.进入跨域设置详情页面,点击“创建规则”
在创建规则的时候,我经历过两个版本:
A方案简易设置,解决国内oss跨域设置的
只需要填写图上所示:
来源为:*
允许method:GET、POST 、PUT
允许的head:*
其他的信息,我都没有设置
点击确定,oss的文件就可以正常访问了。
B 方案,全面设置,因为客户希望服务器在美国,国内需要访问系统速度就比较卡,所以采购阿里云的全球加速,原来A方案跨域设置不起作用,文件下载No ‘Access-Control-Allow-Origin‘的异常提示,经过咨询跟尝试,发现有些内容还需要补全。
来源为:*
允许method:GET、POST 、PUT、head
允许的head:*
暴露Headers: x-oss-request-id
ETag
缓存时间:随便填写,例如10秒
返回 Vary: Origin 一定要勾选
点击确定,文件访问一切正常
为了避免的不必要异常,建议大家按照B方案设置,将信息补充完整,以避免不必要的异常。