Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用CloudFront的Gzip压缩不';行不通_Amazon Web Services_Amazon S3_Gzip_Amazon Cloudfront - Fatal编程技术网

Amazon web services 使用CloudFront的Gzip压缩不';行不通

Amazon web services 使用CloudFront的Gzip压缩不';行不通,amazon-web-services,amazon-s3,gzip,amazon-cloudfront,Amazon Web Services,Amazon S3,Gzip,Amazon Cloudfront,我有一个angular应用程序,即使是用prod模式构建,也有多个大文件(超过1MB) 我想用CloudFront上的gzip压缩功能来压缩它们 我在CloudFront控制台中激活了“自动压缩对象”选项。我的分发源是一个s3桶 但是,当我通过broswer加载页面时下载的包没有用gzip压缩 下面是一个请求/响应的示例 请求头: :authority:dev.test.com :method:GET :path:/vendor.cc93ad5b987bea0611e1.bundle.js :s

我有一个angular应用程序,即使是用prod模式构建,也有多个大文件(超过1MB)

我想用CloudFront上的gzip压缩功能来压缩它们

我在CloudFront控制台中激活了“自动压缩对象”选项。我的分发源是一个s3桶

但是,当我通过broswer加载页面时下载的包没有用gzip压缩

下面是一个请求/响应的示例

请求头:

:authority:dev.test.com
:method:GET
:path:/vendor.cc93ad5b987bea0611e1.bundle.js
:scheme:https
accept:*/*
accept-encoding:gzip, deflate, br
accept-language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
cache-control:no-cache
pragma:no-cache
referer:https://dev.test.com/console/projects
user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
响应标题

accept-ranges:bytes
age:17979
content-length:5233622
content-type:text/javascript
date:Tue, 07 Nov 2017 08:42:08 GMT
etag:"6dfe6e16901c5ee5c387407203829bec"
last-modified:Thu, 26 Oct 2017 09:57:15 GMT
server:AmazonS3
status:200
via:1.1 9b307acf1eed524f97301fa1d3a44753.cloudfront.net (CloudFront)
x-amz-cf-id:9RpiXSuSGszUaX7hBA4ZaEO949g76UDoCaxzwFtiWo7C-wla-PyBsA==
x-cache:Hit from cloudfront
根据AWS文件,一切正常:

  • 接受编码:gzip
  • 内容长度显示
  • 文件大小在1000到1000之间 10000000字节

你知道为什么cloudfront不压缩我的文件吗?

动态GZip压缩由cloudfront尽最大努力处理。基于边缘位置的容量和可用性


要获得可预测的压缩,您需要在上传到S3之前对其进行gzip处理。

此响应是在几个小时前缓存的

age:17979
CloudFront不会返回并gzip已经缓存的内容

CloudFront从您的源位置获取文件时,会压缩每个边缘位置的文件。配置CloudFront压缩内容时,它不会压缩已经位于边缘位置的文件。此外,当一个文件在边缘位置过期并且CloudFront将该文件的另一个请求转发给您的源站时,如果您的源站返回HTTP状态代码304,则CloudFront不会压缩该文件,这意味着边缘位置已经具有该文件的最新版本。如果希望CloudFront压缩已经位于边缘位置的文件,则需要使这些文件无效

执行缓存失效,等待其完成,然后重试


谢谢,就是这样。我在CloudFront控制台中进行了缓存无效化,并且成功了;)