平衡浏览器缓存图像和链接的时间到期以避免带宽被盗

Kar*_*ite 7 amazon-s3 browser-cache amazon-cloudfront

我们在Amazon S3上托管我们的图像,并通过Amazon Cloudfront为他们提供服务.我们想减少带宽费用.我们认为我们有很多带宽被盗,并希望开始使用签名网址来防止这种情况发生.但是,我们必须平衡这一事实,即每次我们发送一个新签名的URL时,它会使图像的浏览器缓存无效.

我们当前的计划是生成一个有效期为两个月的签名网址,然后在生成新签名网址之前将其缓存在本地并提供一个月.这将允许浏览器将图像缓存更长时间.然而,这也意味着任何人都可以为图像提供长达两个月的带宽.

有没有办法让链接更快到期,但让浏览器继续缓存该图像?我知道当url被重新签名用于新的时间戳时,图像的etag和If-Modified-Since不会改变,但是浏览器不再知道在头部中发送这些值,因为就其而言,这是一个新的URL.有没有解决这个问题的方法?

blu*_*oon 2

您是否测量过有多少带宽被盗?即,检查您收到的图像请求数量,这些请求没有将引用字段设置为您自己的网站。

为了获得最佳缓存,我们建议缓存 10 年,所以 2 个月听起来有点短。