[英]S3 serves gzipped assets. CloudFront does not. Why?
I set up an Amazon S3 bucket for my static assets, and configured CloudFront to point to it. 我为我的静态资产设置了一个Amazon S3存储桶,并将CloudFront配置为指向它。 I have a Rails 4 app on Heroku.
我在Heroku上有一个Rails 4应用程序。
When I set config.action_controller.asset_host = "https://" + Figaro.env.FOG_DIRECTORY + ".s3.amazonaws.com"
, I get gzipped assets. 当我设置
config.action_controller.asset_host = "https://" + Figaro.env.FOG_DIRECTORY + ".s3.amazonaws.com"
,我得到了gzip资产。
When I set config.action_controller.asset_host = "http://" + Figaro.env.CLOUDFRONT_DIRECTORY + ".cloudfront.net"
, I don't get gzipped assets. 当我设置
config.action_controller.asset_host = "http://" + Figaro.env.CLOUDFRONT_DIRECTORY + ".cloudfront.net"
,我没有获取gzip资产。 Why not? 为什么不?
UPDATE: 更新:
CloudFront can now compress files even if the origin server returns an uncompressed file. 即使源服务器返回未压缩的文件,CloudFront现在也可以压缩文件。 This only applies to specific file types that are between 1KB and 10MB.
这仅适用于1KB到10MB之间的特定文件类型 。 The full details are available at the original link that I posted below.
有关详细信息,请参阅我在下面发布的原始链接。
ORIGINAL ANSWER: 原始答案:
CloudFront does not perform any compression/decompression on its own. CloudFront不会自行执行任何压缩/解压缩。 If you have compressed files on S3 and uncompressed files in CloudFront, it's most likely a caching issue where CloudFront delivers an older, uncompressed, version of the files.
如果您在S3上有压缩文件和CloudFront中的未压缩文件,则很可能是缓存问题,其中CloudFront提供较旧的未压缩文件版本。 Try to invalidate those files on CloudFront.
尝试在CloudFront上使这些文件无效 。
You can learn more about CloudFront compression here: 您可以在此处了解有关CloudFront压缩的更多信息:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.