Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AWS v2和v4签名URL_Node.js_Amazon Web Services_Amazon S3_Digital Ocean_Digital Ocean Spaces - Fatal编程技术网

Node.js AWS v2和v4签名URL

Node.js AWS v2和v4签名URL,node.js,amazon-web-services,amazon-s3,digital-ocean,digital-ocean-spaces,Node.js,Amazon Web Services,Amazon S3,Digital Ocean,Digital Ocean Spaces,我正在使用节点aws sdk为s3对象生成v2签名URL,我有几个问题。这些文件由digital ocean托管,而不是amazon 我想向URL添加自定义get参数。我找到了一些文档,这些文档建议您可以使用v4签名,但我想使用v2。我已经尝试在url生成后将get参数附加到url中,这似乎很好,是否有我遗漏的东西可能会导致执行此操作时出现问题。 我找到的文件: 我不想使用v4的原因是因为v4签名包含url生成的日期/时间。有没有办法删除此参数并仍然使用v4 我还读到v2签名已被弃用。我注意

我正在使用节点aws sdk为s3对象生成v2签名URL,我有几个问题。这些文件由digital ocean托管,而不是amazon

  • 我想向URL添加自定义get参数。我找到了一些文档,这些文档建议您可以使用v4签名,但我想使用v2。我已经尝试在url生成后将get参数附加到url中,这似乎很好,是否有我遗漏的东西可能会导致执行此操作时出现问题。 我找到的文件:

  • 我不想使用v4的原因是因为v4签名包含url生成的日期/时间。有没有办法删除此参数并仍然使用v4

  • 我还读到v2签名已被弃用。我注意到我使用的方法是同步的,
    getSignedUrl()
    ,因此不会发出任何http请求来生成链接。因为这不需要外部数据/代码,所以可以安全地假设,如果我选择v2签名,它们在可预见的未来会起作用吗


  • 非常感谢这里的奇怪组合:使用AWS SDK对Digital Ocean中的对象进行预签名,使用不推荐的功能,并在创建后修改已签名的URL。在#1上,我认为v4签名后的修改将使URL无效。在#2上,相同。在#3上,StackOverflow上没有人能回答你关于一个不推荐功能的未来可行性的问题。是的,我意识到这是一组奇怪的问题。数字海洋空间似乎是建立在s3上的,我几乎没有aws的经验。我更喜欢使用v4链接,但生成的时间对我来说是个问题,你知道一种方法来生成v4链接,而不包含创建的日期/时间吗?X-Amz-date和X-Amz-Expires,如果你指的是,是AWS预签名URL的组成部分。你对日期有什么看法?是的,我指的就是这个。。。我更愿意让生成时间保持未知,类似于v2 signatures注意,sigv4 URL是有时间限制的,因此在特定日期/时间之后(最多7天),它们对您的消费者没有任何用处。一个选项是,您可以共享自己创建的URL,建立一个接收这些URL的API服务器,并让该API服务器动态生成一个AWS预签名URL,然后向客户端发送302重定向。