全部产品
云市场

设置跨域规则后调用OSS时仍然报“No 'Access-Control-Allow-Origin'”的错误

更新时间:2019-10-21 17:28:05

问题描述

在OSS控制台设置了跨域CORS规则后,通过JS程序调用时仍然报如下错误。

No 'Access-Control-Allow-Origin' header is present on the requested resource

 

问题原因

问题原因可能如下。

  • 跨域CORS规则设置异常:未正确设置CORS规则。
  • 浏览器缓存:设置了CORS跨域规则,但是存在浏览器缓存,导致读取了缓存中未含有跨域头的Response Header。

 

解决方案

不同的问题原因对应的解决方法不同,建议先清除浏览器缓存进行测试。如果仍然报错,则参考如下步骤排查CORS跨域规则是否设置正确。

  1. 登录OSS控制台。找到目标Bucket,单击 基础设置
  2. 在基础设置中找到 跨域设置,并单击 设置
  3. 确认跨域CORS规则中的 来源允许 Methods 设置正确,其中 允许 Methods 为“GET”、“POST”和“HEAD”,显示类似如下。
  4. 如果上一步设置正确,则单击规则右侧的 编辑 按钮,检查 允许 Headers 设置。可将其设置为星号(*)并保存设置,测试问题是否解决。
    2

 

相关文档

OSS跨域资源共享(CORS)相关问题请参考常见错误及解决方案

 

适用于

  • 对象存储 OSS

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。