有人可以通过S3来源从Cloudfront提供gzip压缩文件吗?

 OH-MQNZ_259 发布于 2023-01-19 19:52

我已经从Stackoverflow上的其他帖子中得到了很多关于这个主题的建议,但我仍然没有成功地让它工作.

网站原产地位于S3,通过Cloudfront提供服务.通过其他帖子和亚马逊文档,我看到的建议如下:

1)Gzip必要的文件,从文件名中删除.gz,但在上传时,仍将meta设置为gzip.这不适合我.Safari只需下载gzip压缩文件,而不是用作网页.

2)亚马逊文档建议上传文件的gzip压缩版本和非压缩版本,但它没有提及它是如何工作的.例如,您是否链接到网站html中的style.css和style.css.gz?如果是这样,是不是打败了gzipping的对象加速网站,因为它似乎会有两个请求而不是一个?

此外,当您设置文档Cloudfront是要检索,例如index.html,如果您同时拥有一个gzip压缩文件和非压缩文件,您将其设置为要检索的文档?当我将文档设置为index.html.gz时,浏览器再次只下载该文件.

我在70-80%的利润率上获得了速度等级,这可能会更差,但也可能更好.我不是初学者,但我距离成为这方面的专家只有一百万英里,所以我希望我能在这里一步步走过.必须有一些我不太正确的事情.

在此先感谢您的帮助.

1 个回答
  • 该过程应如下所示:

    在本地gzip文件(然后应该调用它index.html.gz)

    删除.gz扩展名(现在调用文件index.html但内容被gzip压缩)

    将文件上传到S3

    在S3管理控制台中的文件的元数据选项卡中,根据文件和文件设置正确Content-Type的文件

    设置Content-Encodinggzip

    链接到HTML标记中的gzip压缩样式表时,只需指定不带.gz扩展名的名称.

    一个很好的网站来测试配置是否有效http://gzipwtf.com/

    如果您正在尝试使用的文件被缓存,也不要忘记使CloudFront缓存无效.

    编辑:

    为了不在手工操作这些东西,我建议你在某种构建过程中自动上传和设置标题的过程.s3_website是一个很好的Ruby宝石入门,但也有其他命令行工具或Grunt插件可用.

    2023-01-19 19:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有