cloundfront压缩似乎不起作用

时间:2019-03-15 23:01:59

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

我已将Cloudfront配置为Compress Objects Automatically。原始服务器是s3存储桶。我通过cloudfront将文件上传到s3,然后将GET请求发送到该文件。但是返回的内容类型不是gzip。以下是我发送的请求,您可以看到响应内容类型为application/octet-stream。我在标题中添加了Accept-Encoding: gzip,但是为什么它不能返回压缩内容呢?

$ curl -I -H "Accept-Encoding: gzip" https://dnruqi0psnxg6.cloudfront.net/images/cells/dc0c2f15-065b-4f3c-a4d6-81c3b09a163f.png
HTTP/2 200
content-type: application/octet-stream
content-length: 142317
date: Fri, 15 Mar 2019 22:58:49 GMT
last-modified: Fri, 15 Mar 2019 22:58:49 GMT
etag: "c6d54353c861d0145e10b1abdcb2976c"
x-amz-version-id: jgFwqD.F6lzvjbgcjfO.E6KK3IdHttaR
accept-ranges: bytes
server: AmazonS3
age: 29
x-cache: Hit from cloudfront
via: 1.1 0ea9662a9e73b2ca5836ede6924f81b0.cloudfront.net (CloudFront)
x-amz-cf-id: MTgwzb8KZinic50msfORINK2pSHW8QCOv82ur0Lq3-jH3WH_8prvow==

1 个答案:

答案 0 :(得分:1)

确保对象符合the docs中的以下条件:

  
      
  • 文件必须为CloudFront压缩的类型。

  •   
  • 文件大小必须在1,000到10,000,000字节之间。

  •   
  • 响应必须包含Content-Length标头,以便CloudFront可以确定文件的大小是否在CloudFront的范围内   压缩。如果缺少Content-Length标头,CloudFront将不会   压缩文件。

  •   
  • 响应中不得包含Content-Encoding标头。

  •   

请参阅types of files that CloudFront can compress的列表。

在这种情况下,问题似乎是application/octet-stream无法被CloudFront压缩。