AWS now supports gzipping files through CloudFront
我遵循了 Serving Compressed Files 中的所有说明,但 gzipping 不起作用。
我有一个 S3 存储桶设置为 CloudFront 用作源的网站。
Compress Objects Automatically
已启用 application/javascript
和 text/css
Content-Length
的文件据我所知尽管如此,我还是无法让 gzipping 工作。我已经让包括 SSL 在内的其他一切都完美运行,您可以在此处访问该站点:https://formulagrid.com/
如果您打开 chrome 控制台,您会注意到从 S3 提供的所有文件都没有被 gzip 压缩。唯一的 gzipped 文件(例如 google 字体)是我从其他 CDN 中抓取的文件。
最佳答案
我今天遇到了同样的错误,并通过向 S3 存储桶添加 CORS 规则来解决它。此规则可确保将 Content-Length header 发送到 Cloudfront,以便可以对内容进行 gzip:
S3 > 存储桶 > 权限 > CORS 配置
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
<AllowedHeader>Content-Length</AllowedHeader>
</CORSRule>
</CORSConfiguration>
归功于罗伯特·埃里森:http://ithoughthecamewithyou.com/post/enable-gzip-compression-for-amazon-s3-hosted-website-in-cloudfront
据我所知,这似乎是一个未记录的要求。
关于amazon-web-services - 以 S3 网站为源的 CloudFront 不提供压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35590622/