You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Amazon JS SDK上传至AWS S3时遇CORS问题及301状态码求助

排查S3上传时的301永久重定向问题

嘿,我来帮你捋捋这个301的问题!既然你已经搞定了CORS,那咱们重点看导致S3返回301的常见坑:

  • Endpoint URL格式错误:这是最常见的原因!S3的区域Endpoint必须精准匹配,比如us-east-2的正确格式应该是https://{bucket-name}.s3.us-east-2.amazonaws.com。如果你的URL少了amazonaws.com后缀、写错了区域代码,或者用了不带区域的全局Endpoint(比如https://s3.amazonaws.com/{bucket-name})去访问区域桶,S3就会返回301重定向到正确的区域Endpoint。仔细检查你上传函数里的目标URL是否完全符合规范。

  • Bucket名称不符合DNS规范:如果你的桶名包含下划线、大写字母(虽然S3现在支持,但部分旧的Endpoint规则可能兼容不佳),或者格式过于复杂,也可能触发重定向。建议尝试用纯小写字母、数字和连字符的桶名测试,或者切换到路径式访问(比如https://s3.us-east-2.amazonaws.com/{bucket-name}/file.txt)对比结果。

  • HTTP与HTTPS协议不匹配:S3现在默认强制使用HTTPS,如果你的上传请求用HTTP访问HTTPS端点,或者反过来,也可能导致重定向。确保你的请求协议和S3 Endpoint的协议完全一致,优先使用HTTPS。

  • 桶区域与请求区域不匹配:如果你创建桶时选择的是us-east-2,但请求时用了其他区域的Endpoint(比如us-east-1),S3会返回301并告知正确的区域Endpoint。去S3控制台确认桶的实际区域,然后对应调整请求中的Endpoint地址。

另外补充一句:301错误基本和Bucket Policy、ACL权限无关(你已经开了全权限),所以先聚焦在URL和Endpoint的正确性上,大概率能解决问题!

内容的提问来源于stack exchange,提问作者Kaito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:22:12