m0m*_*eni 22 gzip amazon-s3 amazon-web-services amazon-cloudfront
AWS现在支持通过CloudFront gzipping文件
我已经按照服务压缩文件中的所有说明进行操作,但是gzipping不起作用.
我将一个S3存储桶设置为CloudFront用作源的网站.
Compress Objects Automatically 已启用application/javascript和text/cssContent-Length据我所知,S3网站提供的文件尽管如此,我还是无法工作.我已经完成了包括SSL在内的所有其他工作,您可以访问以下网站:https://formulagrid.com/
如果你打开chrome控制台,你会注意到从S3提供的文件都没有被gzip压缩.唯一的gzip压缩文件,如谷歌字体是我从其他CDN抓取的.
Rod*_*igo 33
我今天遇到了同样的错误,并通过向S3存储桶添加CORS规则来解决它.此规则确保将Content-Length标头发送到Cloudfront,以便可以对内容进行gzip压缩:
S3> Bucket>权限> 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>
Run Code Online (Sandbox Code Playgroud)
感谢Robert Ellison:http://ithoughthecamewithyou.com/post/enable-gzip-compression-for-amazon-s3-hosted-website-in-cloudfront
据我所知,这似乎是一个无证件的要求.
我的问题是我专门使用 utf-8 编码上传文件。从文档中:
CloudFront 确定文件是否可压缩:
文件必须属于 CloudFront 压缩的类型。
文件大小必须介于 1,000 到 10,000,000 字节之间。
响应必须包含 Content-Length 标头,以便 CloudFront 可以确定文件的大小是否在 CloudFront 压缩的范围内。如果缺少 Content-Length 标头,CloudFront 将不会压缩文件。
响应不得包含 Content-Encoding 标头。
由于 Cloudfront 现在只接受 JSON,您必须粘贴以下内容:
[
{
"AllowedHeaders": [
"Authorization",
"Content-Length"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [],
"MaxAgeSeconds": 3000
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3232 次 |
| 最近记录: |