S3 预签名 URL 在部署到 Elastic Beanstalk 时失败

S3 presigned URL fails when deployed to Elastic Beanstalk

我正在尝试使用预签名 URL 将文件上传到 S3。它在我的测试环境中运行良好,但是当我尝试在实时环境中(在弹性 beanstalk 上)使用相同的代码时,它 returns 一个 "AccessDenied" 错误。

我注意到实时请求的参数完全不同,尽管代码是相同的。 在本地主机上我有:

X-Amz-Expires, X-Amz-Algorithm, X-Amz-Credential, X-Amz-Date, X-Amz-SignedHeaders, X-Amz-Signature

现场我有:

AWSAccessKeyId, Expires,x-amz-security-token, Signature

我确定了这个问题。我没有对实时服务器进行身份验证,但在我们自己的机器上进行了身份验证。