繁体   English   中英

Amazon S3和Cloudfront,TTL = 0测试程序

[英]Amazon S3 and Cloudfront with TTL=0 Testing procedure

我想测试并看到我的TTL = 0确实有效。
我有的:
安装在我的redhat目录中的S3存储桶。 因此,当我从外壳程序编辑一个简单的txt文件时,可以在aws控制台存储区管理器中打开它并查看该文件。 我还创建了Cloudfront发行版,因此可以从cloudfront链接打开txt文件。
测试:
我使用telnet编辑txt文件,然后在S3存储区中从aws控制台打开它,我看到文件已更改,但是当我在cloudfront链接上打开文件时,它没有改变。 这意味着TTL = 0无效。

如何验证TTL = 0是否有效? 并且设置正确吗? 创建分发后,我找不到再次编辑TTL的位置。

谢谢

引用AWS

请注意,我们的默认行为不会改变; 如果未设置缓存控制标头,则每个边缘位置将继续使用24小时的有效期,然后检查该文件的更改。 您还可以继续使用Amazon CloudFront的无效功能,使文件比该文件上设置的TTL更早到期。

您可能没有正确设置缓存控件。 确认这一点的一种方法是启用S​​3存储桶日志记录 - 只要S3存储桶中有新的HTTP GET,即使它们来自CloudFront,也会出现新文件。

您还可以使用curl(或s3curl )直接测试S3,以便正确跟踪其标题。

我的建议是,每当您上传新内容时,都会强制CloudFront无效。 如果您使用的是s3fs之类的工具,那么inotify / icron可能会对您有所帮助

(免责声明:我完全不喜欢将文件系统映射到S3的整个想法。它们是完全不同的工具,你可能会得到'漏洞抽象')

您很可能不会从S3发送任何TTL标头。 CloudFront将在源文件中查找TTL标头,如果找不到任何内容,则默认为24小时。

您可以设置存储桶策略或使用S3浏览器等工具自动设置标头。 http://s3browser.com/automatically-apply-http-headers.php

如果您只想测试,那么我将按照以下步骤操作。

  • 在您的存储桶中创建一个新的文本文件
  • 通过AWS控制台,找到文件并检查和/或添加缓存头
  • 从CloudFront检索文件
  • 更改存储桶中的文件
  • 在AWS控制台中检查新文件的标头(您的S3映射实用程序可能会擦除以前的文件标头)
  • 从CloudFront检索新更改的文件

如果您每月进行大量编辑,则每次请求向CloudFront发送无效调用可能会收费。 加上失效需要几分钟(有时20分钟或更长时间)才能传播,这意味着您永远无法立即更改内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM