Rails:从Cloudfront提供压缩的静态资产

时间:2015-05-13 20:30:49

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

我正在使用Rails 4,我的应用程序已部署到Heroku。

我正在尝试从Cloudfront提供压缩资产。 Cloudfront的分发源指向Amazon S3,其中存在js和css的压缩版本。

但是,Cloudfront不提供这些压缩资产。我已经读过像heroku-deflaterrack-zippy work这样的宝石,但是这些宝石会从Heroku中提供资源,而不是从Cloudfront服务它们。换句话说,我需要config.serve_static_assetsfalse,因为我希望Heroku不要为资产提供服务。

如何提供压缩资产?

1 个答案:

答案 0 :(得分:0)

为什么不从Heroku服务他们?听我说:

创建以Heroku的应用程序URL为原点的Cloudfront Distribution。然后设置config.asset_host = 'http://abcd12345678.cloudfront.net'。这样Cloudfront就会被击中,如果它没有压缩资产,它会向Heroku询问它。从本质上讲,Heroku只会将资产服务一次(到CloudFront)