Mik*_*rds 26 cdn amazon-s3 amazon-cloudfront
我们当前的网站计划是使用亚马逊的Cloudfront服务作为资产文件(如CSS,JavaScript和图像)以及任何其他静态文件的CDN.
我们目前在S3中有一个包含所有这些静态文件的存储桶.这些文件根据它们分为不同的文件夹,"脚本"是JS文件,"图像"是图像等yadda yadda yadda.
因此,我从一开始就没有意识到,一旦您将一个Bucket从S3部署到Cloudfront Distribution,那么对该存储桶的每个后续更新都不会再次部署到同一个Distribution.因此,每次进行静态文件更新时,您似乎都必须将存储桶重新部署到另一个Cloudfront实例.
这对于图像来说很好,因为我们可以轻松确保如果图像发生了变化,那么我们只需创建一个新图像.但是,对于CSS和JS来说,这很难做到.
所以,这让我想到了最佳实践问题:
cee*_*yoz 18
您可以向CloudFront发出无效请求.
http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
但是,我们使用自己的服务器作为自定义源而不是S3存储桶.我们有.htaccess
别名style_*.css
来style.css
,我们注入文件修改时间style.css
的HTML.由于CloudFront看到一个完全不同的URL,它将获取新版本.
(注意:某些CDN允许您通过查询字符串执行此操作,但CloudFront会忽略所有用于缓存的查询字符串数据,因此.htaccess
解决方案.)
编辑: CloudFront可以(可选)配置为立即使用查询字符串.
CloudFront已开始支持查询字符串,您可以使用它来使缓存无效. http://aws.typepad.com/aws/2012/05/amazon-cloudfront-support-for-dynamic-content.html
归档时间: |
|
查看次数: |
12370 次 |
最近记录: |