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

问题描述

在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


上一篇: 没有了