当origin是s3时,如何从aws cloudfront转发头

时间:2017-01-31 15:05:36

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

我正在尝试为我的网站利用浏览器缓存以取悦"谷歌网页速度检查"。

谷歌抱怨说我的图片中没有定义到期日期,所以我试图在我的图片中添加Amazon cloudfront。我通过S3提供图像,原点为s3。我读了几篇文章,我跟随的步骤是:

  1. 我转到我的"cache-control" header广告位并手动设置"behaviour" -> "edit" 为我的测试对象(图像)。我工作,我可以在浏览器中看到标题。
  2. 我转到我的CloudFront分配"Forward Headers" to "all"和 从那里我尝试了以下的事情:

    a)设置"all"。亚马逊抱怨s3价值 原点为"Forward Headers" to "Whitelist"时无法设置。

    b)设置"Origin" - >添加"cache-control" header为 白名单标题。它不起作用。当我检查我的浏览器时,我不这样做 请参阅"Forward Headers" to "None"

    c)设置"Object Caching" - >和"Forward Headers"到"使用     Origin Cache Headers"。它不起作用。

    d)将"None"设为"Object Caching - >和"Cusomize""至 CloudFront - >指定最小/最大/默认TTL的值。它没有 工作

  3. 所以我没有选择并希望。任何想法如何让curl -v -u admin:admin123 --upload-file myArtifact.jar http://nexusURL:nexusPORT/repository/myRepository/com/my/group/myArtifact/1.0.0-RC1/myArtifact-1.0.0-RC1.jar 将标题转发到浏览器?

1 个答案:

答案 0 :(得分:2)

问题在于您没有等待更改传播。我已成功使用以下配置。

enter image description here

发布此消息,等待更改传播。 (如果您非常不耐烦,那么创建一个*无效)

要上传资源,您可以使用以下命令[假设您已下载了aws cli]。

aws s3 sync local_dir s3://bucket --cache-control max-age=604800