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
EXPERTE
gefragt vor 5 Monaten41 Aufrufe
1 Antwort
0

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

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

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen