问题描述
当您使用OSS出现跨域问题时,可以参考本文内容,定位并解决问题。
No 'Access-Control-Allow-Origin' header is present on the requested resource解决方案
排除控制台配置问题: 当您出现跨域问题时,首先将跨域规则权限设置最大,具体配置如下。然后确认问题是否解决。

若问题未解决,任意登录一台服务器,执行以下命令,查看跨域请求头。
curl -voa '[$URL1]' -H 'Origin:[$URL2]'说明说明:
[$URL1]为需要请求的OSS资源链接。
[$URL2]为您配置跨域规则的来源地址。
系统显示类似如下。

如果出现返回结果存在一个跨域头且符合您配置的跨域头,那么出现跨域问题,可能是由于缓存问题导致,请参考以下解决方法: 您第一次请求没有触发跨域,返回的数据被本地缓存,而第二次触发跨域的请求没有请求服务器端,而是直接获取本地的缓存,导致跨域校验失败。
在浏览器页面单击Ctrl+F5,清理浏览器缓存,然后在测试跨域问题是否还存在。
您将该OSS资源跨域配置的缓存时间设置为0,这样可避免该资源在客户端进行缓存,每次请求都会重新在服务器端获取鉴权信息。
使用CDN加速OSS,详情请参见CDN如何通过HTTP头配置跨域资源共享(CORS),这样CDN所有请求都会返回CORS头。
如果出现返回结果存在两个跨域头或者不符合您在OSS配置的跨域头,那么出现跨域问题,可能是由于使用了CDN加速OSS:
登录CDN控制台,临时取消CDN加速OSS,确认跨域问题不存在。
确认后,单击具体的域名,依次单击缓存配置>自定义HTTP响应头。
根据您的实际情况,设定自定义HTTP响应头,详情请参见CDN如何通过HTTP头配置跨域资源共享(CORS)。
相关文档
若跨域问题没有解决,请参见以下文档处理:
设置跨域规则后调用OSS时仍然报错请参见OSS报“No 'Access-Control-Allow-Origin'”的错误。
CORS的介绍及配置请参见设置跨域资源共享。
适用于
对象存储OSS