阿里云OSS跨域问题解决方案

问题概述

当前端应用尝试从不同域名访问阿里云OSS存储的资源时,浏览器会因为同源策略阻止请求,出现跨域错误。

解决方案

1. 登录阿里云控制台

访问阿里云OSS控制台,选择对应的Bucket

2. 配置跨域规则

  1. 在左侧菜单选择权限管理,跨域设置
  2. 点击设置按钮
  3. 点击创建规则

3. 跨域规则配置

阿里云OSS跨域配置界面

按照以下配置填写:

配置项设置值
来源*
允许MethodsGET POST PUT DELETE HEAD
允许Headers*
暴露HeadersEtag
x-oss-request-id
缓存时间0
返回Vary Origin不勾选

4. 保存配置

点击确定按钮保存配置,等待1-2分钟生效。

配置说明

  • 来源:设置为 * 表示允许所有域名访问
  • 允许Methods:全部勾选,支持所有HTTP方法
  • 允许Headers:设置为 * 表示允许所有请求头
  • 暴露Headers:设置OSS返回的必要响应头
  • 缓存时间:设置为0表示不缓存,便于调试
  • 返回Vary Origin:不勾选,简化配置

配置完成后即可解决跨域问题,如需更严格的安全控制,可将来源改为具体域名。