Amazon web services 当原点为s3时,如何从aws cloudfront转发标头
我正试图利用浏览器缓存为我的网站,以请“谷歌网页速度检查” 谷歌抱怨我的图片中没有定义过期日期,所以我试图在图片中添加一个Amazon web services 当原点为s3时,如何从aws cloudfront转发标头,amazon-web-services,amazon-s3,http-headers,amazon-cloudfront,Amazon Web Services,Amazon S3,Http Headers,Amazon Cloudfront,我正试图利用浏览器缓存为我的网站,以请“谷歌网页速度检查” 谷歌抱怨我的图片中没有定义过期日期,所以我试图在图片中添加一个“cache control”标题。我通过Amazon cloudfront为图像提供服务,源代码是S3。我读了几篇文章,我的步骤如下: 我转到我的s3bucket并手动设置“缓存控制”标题 对于我的测试对象(图像)。我可以工作,并且可以在浏览器中看到标题 我转到我的CloudFront发行版,“行为”->“编辑”和 在那里,我尝试了以下几点: a) 将“转发标题”设置为“全
“cache control”标题。我通过Amazon cloudfront
为图像提供服务,源代码是S3
。我读了几篇文章,我的步骤如下:
s3
bucket并手动设置“缓存控制”标题
对于我的测试对象(图像)。我可以工作,并且可以在浏览器中看到标题“行为”->“编辑”
和
在那里,我尝试了以下几点:
a) 将“转发标题”设置为“全部”。亚马逊抱怨“所有”
价值
当原点为s3
时无法设置
b) 将“转发标题”设置为“白名单”
->添加“源文件”
为
白名单标题。它不起作用。当我检查我的浏览器时,我不知道
请参阅“缓存控制”标题
c) 将的“转发头”设置为“无”
->,将的“对象缓存”
设置为“使用”
“源缓存头”。它不起作用
d) 将“转发头”
设置为“无”
->,将“对象缓存”
设置为
“Cusomize”
->为最小/最大/默认TTL指定一个值。没有
工作所以我没有选择和希望了。有什么想法可以让
CloudFront
将标题转发到浏览器吗?问题是您没有等待更改传播。我已经成功地使用了以下配置
发布此消息,只需等待更改传播。(如果你很不耐烦,那么创建一个*
无效声明)
要上载资产,可以使用以下命令[假设已下载aws cli]
aws s3 sync local_dir s3://bucket --cache-control max-age=604800
是的,你说得对,卡兰,我宣布我的目标无效,然后工作得很好!作为后续工作,我还尝试在cloudfront上启用gzip压缩。为此,我在对象中添加了一个“Content Length”标题,并按照aws上几篇文章/博客的指示将“Compress Objects Automatically”设置为“Yes”。但是,对象不会被压缩。也许你对此有一个想法?你只需要检查从CloudFront自动缓存对象的选项,不需要在S3中更改它,同样,你还需要再次等待:)事实上,我已经等待了,并且也已经使对象无效了……无论如何,我会等待更长的时间。如果这个问题没有解决,你可以将其作为不同的问题发布。