S3 分段上传到预签名 URL 在 OPTIONS 请求上返回 HTTP 500

0

【以下的问题经过翻译处理】 我们已经设置了一个带有 CORS 规则的 S3 存储桶来上传数据。上传是使用预签名 URL 和分段上传完成的。我们有几个部署可以使用此设置。在我们今天部署的最新设置中,S3 存储桶在尝试 PUT 时返回 HTTP 代码 500(在 OPTIONS 请求中)和 CORS 错误“请求的资源上不存在‘Access-Control-Allow-Origin’标头”使用所需的有效负载和标头请求。

在使用 curl 调查错误时,我们发现存储桶返回从 https://bucketname.s3.amazonaws.com/https://bucketname.s3.eu-central-1.amazonaws.com/ 的重定向.当我们向包含具有所需负载和标头的区域的 URL 发送请求时,我们现在收到 Access-Control-Allow-Origin 标头,但 HTTP 代码 403 以及签名不匹配的响应。

从存储桶中删除 CORS 配置后,我们会收到 HTTP 代码 403 和 CORS 错误。

我们还在 CORS 配置中尝试了不同的服务器选项,所有这些都导致了 HTTP 代码 500。

重建桶也没有改变上述问题。

profile picture
专家
已提问 6 个月前42 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果存储桶是新的,则在 DNS 传播发生时预计会出现此重定向响应。有关详细信息,请参阅 https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingRouting.html

一旦 DNS 完全传播,重定向将停止,并且 S3 应该开始响应您的存储桶的非特定区域 DNS 名称。

但是,在创建预签名 URL 时指定区域可能更可靠,以防 S3 在将来某个时候返回重定向。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则