回到笔记开发OSS阿里云 OSS 跨域与 Region 配置排查 OSS 请求的 403 与跨域问题:确认允许的请求头,并在 JavaScript SDK 中使用带 oss 前缀的 Region。 2025年1月13日 1 分钟阅读收听本文 Microsoft Edge 神经语音阿里云 OSS 前端直传最常见的两个问题,是 CORS 没有允许实际请求头,以及 SDK 的 Region 写法不完整。 CORS 返回 403 除了允许来源和请求方法,还要把浏览器实际发送的请求头加入 Allowed Headers。使用 STS、分片上传或自定义元数据时,遗漏请求头可能直接得到 403。 排查时可以在浏览器 Network 面板里查看预检请求: OPTIONS 是否成功; Access-Control-Request-Headers 包含哪些字段; 响应里的 Access-Control-Allow-Headers 是否全部覆盖。 Region 要包含 oss- 前缀 JavaScript SDK 使用的 Region 不是 cn-hangzhou,而是 oss-cn-hangzhou: const client = new OSS({ region: 'oss-cn-hangzhou', accessKeyId: credentials.accessKeyId, accessKeySecret: credentials.accessKeySecret, stsToken: credentials.securityToken, bucket: 'your-bucket', refreshSTSTokenInterval: 3_600_000, }) STS 临时凭证过期后需要重新获取,不要把长期 Access Key 放进浏览器代码。 交流留下你的想法评论由 GitHub Issues 托管,中英文页面共享同一段讨论。正在载入评论…
阿里云 OSS 前端直传最常见的两个问题,是 CORS 没有允许实际请求头,以及 SDK 的 Region 写法不完整。
CORS 返回 403
除了允许来源和请求方法,还要把浏览器实际发送的请求头加入 Allowed Headers。使用 STS、分片上传或自定义元数据时,遗漏请求头可能直接得到 403。
排查时可以在浏览器 Network 面板里查看预检请求:
OPTIONS是否成功;Access-Control-Request-Headers包含哪些字段;Access-Control-Allow-Headers是否全部覆盖。Region 要包含
oss-前缀JavaScript SDK 使用的 Region 不是
cn-hangzhou,而是oss-cn-hangzhou:STS 临时凭证过期后需要重新获取,不要把长期 Access Key 放进浏览器代码。