我们正在使用(com.amazonaws:aws-java-sdk 版本 1.11.18)创建亚马逊 S3 签名的 url -
AmazonS3 s3 = new AmazonS3Client(credentials);
s3.generatePresignedUrl(bucketName, objectName, expiration, method);
我们希望得到一个签名的 url,其中包含一个名为“signature”(v2 签名)的查询参数。
我们注意到,在我们的服务器中,一些请求会导致 v4 签名——我们意外地得到一个“x-amz-signature”查询参数作为签名 url 的一部分。
一旦开始 - 对于相同的请求 s3 对象,它可以在服务器上重现。但是,对其他对象进行签名的请求仍将使用 v2 进行签名。在损坏的服务器上重新启动 tomcat 服务“修复”了该问题。
知道什么会导致库开始使用 v4 对某些对象进行签名吗?