【问题标题】:Best practice to handle aws s3 presigned URL expiration date处理 aws s3 预签名 URL 到期日期的最佳实践
【发布时间】:2019-11-27 22:42:28
【问题描述】:

我正在将图像保存到我的 s3 存储桶中,生成一个预签名 URL 并将其保存为我的模型架构中的一个字段。当我的前端从后端检索模型对象时,它使用该 URL 来检索图像。

您可以使用 v4 设置的最长有效期为 7 天。那么处理这些 URL 的“刷新”的最佳做法是什么?

我想到的事情:

  • 在我的后端有一个 cron 作业来检查每个例如如果我在接下来的 24 小时内有任何网址无效,则每 24 小时一次,并生成一个新网址以防万一。
  • 每次收到 GET 请求时检查它,如果它无效则重新生成
  • 根本不检查后端,只是尝试点击前端的 URL,如果我收到 403 则请求从后端重新生成。我不太喜欢这个想法,因为我不能简单地使用 "/> 而是必须将它包装在一些其他逻辑中。

【问题讨论】:

    标签: javascript amazon-web-services amazon-s3 pre-signed-url


    【解决方案1】:

    最佳做法是不要存储预签名的网址

    而是在需要时即时生成。它们只需要几行代码即可生成,并且生成不涉及对 AWS 的调用。

    因此,每当应用需要引用预签名 URL 时,立即生成并使用它。无需担心过期时间。

    【讨论】:

    • 因为我不想在前端拥有 AWS 凭证,所以我必须在后端生成它们。每次前端从后端请求它们时生成 URL(每 5 秒 1000 个 URL)似乎是一种开销。另外,虽然img标签中的URL发生了变化,但浏览器是否仍然缓存图片?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多