我在 Amazon S3 上托管我想使用预签名 urls访问的文件。
对于简单的 GET 请求,这非常有效。然而,有一些客户端首先执行 HEAD 请求(以检索文件大小)。由于 URL 中的签名包含 http 动词(GET 与 HEAD),因此头部请求失败。
客户只是这样做:
HEAD http://(bucketname).s3.amazonaws.com/filename?AWSAccessKeyId=(mykey)&Expires=(timestamp)&Signature=(sig)
GET http://(bucketname).s3.amazonaws.com/filename?AWSAccessKeyId=(mykey)&Expires=(timestamp)&Signature=(sig)
我无法更改客户端以使用不同的 URL 作为 head 和 get。有没有办法让亚马逊使用接受 HEAD 和 GET 同一资源的签名?