【问题标题】:How to enable gzip compression on AWS CloudFront如何在 AWS CloudFront 上启用 gzip 压缩
【发布时间】:2017-06-17 11:35:31
【问题描述】:

我正在尝试 gzip 压缩我通过 CloudFront 提供的 img。我的出身是S3

基于aws上的几篇文章/博客,我所做的是:

1) 为我要压缩的对象设置"Content-Length" 标头。我设置的值等于size属性框上出现的大小

2) 在我的云发行版的Behaviour 中将Compress Objects Automatically 的值设置为Yes

3) 我使我的对象无效以从 S3 获取新副本。

我仍然无法使CloudFront gzip 我的对象。有什么想法吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 gzip amazon-cloudfront


    【解决方案1】:

    我正在尝试 gzip 压缩 [图像]

    您通常不需要 gzip 图像 - 这样做可以节省很少的带宽(如果有的话),因为网络上使用的几乎所有图像格式都已被压缩。

    另外,CloudFront 也不支持。

    有关支持的文件格式,请参阅 File Types that CloudFront Compresses。它们是基于文本的格式,往往从 gzip 压缩中受益匪浅。

    如果您真的希望文件经过 gzip 压缩,您可以将文件存储在 S3 中,已经 gzip 压缩。

    $ gzip -9 myfile.png
    

    这将创建一个压缩文件myfile.png.gz

    将文件上传到 S3没有末尾的 .gz。将Content-Encoding: 标头设置为gzip,并将Content-Type: 标头设置为文件的正常正确值,例如image/png

    这会破坏任何不理解Content-Encoding: gzip 的浏览器,但使用中的浏览器不应该有该限制。

    请注意,上面的 -9 表示最大压缩。

    【讨论】:

    • 嗨迈克尔,谢谢您的回复。我主要是想在google页面速​​度检查中提高分数。
    • @panipsilos gzip 改进了基于文本的资源:HTML、JS、CSS,而不是图像
    【解决方案2】:

    如果您尝试对 jpegs/pngs 进行 gzip,我建议您首先使用 https://tinyjpg.com/ 等工具在线压缩它们

    理想情况下,您不需要进一步压缩图像。使用图像优化工具压缩图像比使用gzip -9 效果更好,因为它考虑了纹理、颜色和图案等。

    此外,请确保以正确的格式保存文件(jpg 格式的实际图像和 png 格式的矢量图像) - 这将有助于减小图像的大小

    【讨论】:

    • Thnx Karan,我试试看
    • @panipsilos 请告诉我们什么是有效的,因为我觉得使用图像压缩技术压缩图像会比 gzip 更好,因为它更适合压缩文本信息。
    • 嗨,Karan,你说得对,不值得使用 gzip。现在我使用了一些在线工具来压缩 png/jpg 文件。谷歌页面速度检查停止抱怨。
    • @panipsilos 那么你可以接受我的回答是正确的:)
    猜你喜欢
    • 2015-10-08
    • 2018-08-20
    • 1970-01-01
    • 2021-10-03
    • 2018-04-19
    • 1970-01-01
    • 2013-12-29
    • 2015-02-15
    • 1970-01-01
    相关资源
    最近更新 更多