【问题标题】:AWS CloudFront Leverage browser caching not workingAWS CloudFront 利用浏览器缓存不起作用
【发布时间】:2018-06-16 13:12:03
【问题描述】:

我正在尝试设置以下 Origin 自定义标头

Header Name: Cache-Control
Value: max-age=31536000

但它给出了com.amazonaws.services.cloudfront.model.InvalidArgumentException: The parameter HeaderName : Cache-Control is not allowed. (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidArgument; 错误。

我尝试了多种方法来设置最小 TTL、默认 TTL 和最大 TTL,但没有任何帮助。

【问题讨论】:

  • 自定义 Origin 标头发送 CloudFront 源服务器,这不是你想要做的......看起来你是尝试在 CloudFront 添加响应标头,因为您的源没有返回它们。对吗?
  • 如果是这样,I have answered this question at Server Fault。 CloudFront 中没有用于添加这些响应标头的内置设置。如果您可以将它们添加到源,请将它们添加到源...否则您可以使用 Lambda@Edge 源响应触发器将它们添加到 CloudFront 以添加标头。 SF 提供的示例。

标签: browser-cache cdn amazon-cloudfront


【解决方案1】:

我假设您正试图通过利用浏览器缓存在 gtmetrix 页面得分上获得良好的评分!如果您通过 cloudfront 从 S3 提供内容,则需要在将文件上传到 S3 时将以下标头添加到 S3 中的对象。 过期:{某个未来日期}

奖励:您不需要为每个对象单独指定此标头。您可以在 S3 上一起上传一堆文件,单击下一步,然后在询问 S3 存储类的屏幕上,向下滚动并添加这些标题。并且不要忘记点击保存!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-18
    • 2016-08-13
    • 2018-03-27
    • 2017-01-20
    • 2014-12-24
    • 2013-01-21
    相关资源
    最近更新 更多