跳到主内容

阿里云OSS报No 'Access-Control-Allow-Origin'的错误

· 2分钟阅读

问题

在 OSS 控制台设置了跨域 CORS 规则后,前端访问还报 No 'Access-Control-Allow-Origin'的错误。

原因

出现跨域问题的原因如下:

  • 跨域 CORS 规则设置异常,未正确设置 CORS 规则。

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

解决

  1. 进入  OSS 管理控制台  界面。

  2. 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。

  3. 单击   基础设置   页签,找到   跨域设置   区域,然后单击   设置。

  4. 单击   创建规则,打开  设定跨域规则  对话框。

设置跨域规则。

  • 来源:指定允许的跨域请求的来源。允许多条匹配规则,以回车为间隔。每个匹配规则允许使用最多一个*通配符。

  • 允许 Methods:指定允许的跨域请求方法。

  • 允许 Headers:指定允许的跨域请求 header。允许多条匹配规则,以回车为间隔。每个匹配规则使用最多一个“*”通配符。

  • 暴露 Headers:指定允许用户从应用程序中访问的响应头(例如一个 Javascript 的 XMLHttpRequest 对象)。

  • 缓存时间:指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间。

说明:  每个存储空间最多可以配置 10 条规则。