我为我的静态资产设置了Amazon S3存储桶,并将CloudFront配置为指向它。我在Heroku上有一个Rails 4应用程序。
当我设置config.action_controller.asset_host = "https://" + Figaro.env.FOG_DIRECTORY + ".s3.amazonaws.com"
时,我会获取gzip资源。
当我设置config.action_controller.asset_host = "http://" + Figaro.env.CLOUDFRONT_DIRECTORY + ".cloudfront.net"
时,我没有获取gzip资源。为什么不呢?
答案 0 :(得分:2)
<强>更新强>
即使源服务器返回未压缩的文件,CloudFront现在也可以压缩文件。这仅适用于介于1KB和10MB之间的specific file types。有关详细信息,请参阅我在下面发布的原始链接。
原始答案:
CloudFront不会自行执行任何压缩/解压缩。如果您在S3上有压缩文件和CloudFront中的未压缩文件,则很可能是缓存问题,其中CloudFront提供较旧的未压缩文件版本。尝试在CloudFront上invalidate这些文件。
您可以在此处了解有关CloudFront压缩的更多信息:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html