S3为源站的CloudFront资源压缩功能失效问题咨询
CloudFront未返回S3源站压缩响应的遗漏配置排查项
- 缓存策略配置检查
确认CloudFront关联的缓存策略已将Accept-Encoding请求头纳入缓存键的允许列表,CloudFront仅会对携带Accept-Encoding: gzip/br且该头被纳入缓存规则的请求触发自动压缩逻辑。 - S3对象元数据检查
- 确认待压缩文件的
Content-Type属于CloudFront自动压缩支持的MIME类型白名单,常见支持类型包括text/html、text/css、application/javascript、application/json等,非白名单内的MIME类型不会被压缩 - 确认文件大小在1KB~10MB范围内,CloudFront自动压缩仅处理该区间内的文件
- 确认待压缩文件的
- S3 CORS配置补全
你当前的CORS配置中AllowedHeaders缺少Accept-Encoding字段,该字段需要加入允许列表才能让S3接收CloudFront转发的压缩请求头,同时建议在ExposeHeaders中添加Content-Encoding字段,确保客户端可以正常识别压缩响应头。修正后的CORS规则参考如下:
[ { "AllowedHeaders": [ "Authorization", "Content-Length", "Accept-Encoding" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Content-Encoding" ], "MaxAgeSeconds": 3000 } ]
- 缓存失效验证
修改所有配置后,需要对CloudFront中已缓存的旧内容执行失效操作,否则旧的未压缩缓存内容会继续返回,不会触发新的压缩逻辑。 - 源站响应头检查
确认S3返回的响应中没有Cache-Control: no-transform头,该头会禁止CloudFront修改响应内容,即使开启自动压缩也不会生效。
内容的提问来源于stack exchange,提问作者jesus6402
相关产品推荐
相关产品推荐

