【问题标题】:Caching signed S3 URI's with paperclip and rails使用回形针和导轨缓存签名的 S3 URI
【发布时间】:2012-03-25 10:34:19
【问题描述】:

我正在 S3 上使用回形针生成过期的签名 URI。但是,在每次请求时,我都会生成一个不理想的新 URI,它会强制浏览器在每次页面刷新时从 S3 下载一组新图像。

我想做的是将生成的 URI 缓存的时间比它们在 S3 上过期的时间短一点。有没有人做过类似的事情,可以提出解决方案。

如果有建议的解决方案(或不建议),我将在 heroku 上进行部署

【问题讨论】:

    标签: ruby-on-rails heroku amazon-s3 paperclip


    【解决方案1】:

    有一种简单的方法可以做到这一点,非常简洁。回形针 expiring_url 方法需要明确的时间。所以我们可以做类似的事情

      def s3_expiry
            Time.zone.now.beginning_of_day.since 25.hours
      end
    

    当我们需要一个过期的 URL 时

     user.avatar.expiring_url(s3_expiry, :thumb)
    

    诀窍是图像在一天结束时在 S3 中过期 + 1 小时后生成的任何 URL 直到一天结束。每晚午夜 12:00 都会生成新的 URL。这可以防止图像在站点外使用超过 25 小时,这应该足以防止猖獗的热链接,但仍然足以让浏览器缓存图像一天

    【讨论】:

      猜你喜欢
      • 2014-04-11
      • 2017-10-01
      • 2012-07-23
      • 2017-05-13
      • 1970-01-01
      • 2015-01-25
      • 2012-07-30
      • 1970-01-01
      • 2013-11-04
      相关资源
      最近更新 更多