2017-03-01 49 views
3

我对我的静态html,js,css(etc ..)文件使用Amazon S3 webhosting。 替换我的index.html文件后,我仍然通过浏览器获取旧版本。 我想设置一个默认的ttl 到存储桶(而不是其中的特定对象)。我发现这个链接: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDefaultTTL亚马逊s3静态虚拟主机缓存

但在仪表板中找不到“对象缓存”设置。有人能指出它在哪里吗?

+0

您引用的链接是针对CloudFront的,而不是S3。如果您未使用CloudFront,则此信息不相关。如果您使用CloudFront,则应在问题中提及。 –

回答

0

是的。如果您使用CloudFront分配 - 您只需检查您的失效以及为什么您的对象失效无法正常工作。什么是TTL值。

您使用CDN吗?

1

这是回答你的问题的Amazon S3 link。根据亚马逊的说法,除非您使用第三方工具(该页面链接到一些工具),否则无法为整个存储桶设置缓存控制标头。我遇到的一个工具描述了如何为使用PUT请求(或批量使用其工具)提交的对象设置缓存指令。有关更多信息,请参阅BucketExplorer

这里是亚马逊的指令的复制粘贴(既然这么不喜欢依赖,可能改变或消失外部链接):

要添加一个缓存控制或Expires头域到Amazon S3使用亚马逊S3控制台

  1. 登录到AWS管理控制台,打开亚马逊S3控制台 在https://console.aws.amazon.com/s3对象。
  2. 在Amazon S3控制台的存储桶窗格中,单击包含这些文件的存储桶的名称。
  3. 在对象列表中,选择要添加标题字段的第一个对象。
  4. 点击操作并点击属性
  5. 在右侧窗格中,展开元数据
  6. Click 添加更多元数据
  7. 键列表,单击的Cache-Control过期(如适用)。
  8. 字段,输入适用值:
  9. 对于缓存控制字段中,输入:max-age=number of seconds that you want objects to stay in a CloudFront edge cache
  10. 对于过期字段中,输入HTML格式的日期和时间。
  11. 点击保存

如果要将标题字段添加到其他对象,请单击下一个对象的名称,然后重复步骤5到9。

+1

请注意,您也可以使用相同的过程在文件夹级别管理此行为。 – JLM