[英]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更早到期。
您可能没有正确设置缓存控件。 确认这一点的一种方法是启用S3存储桶日志记录 - 只要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
如果您只想测试,那么我将按照以下步骤操作。
如果您每月进行大量编辑,则每次请求向CloudFront发送无效调用可能会收费。 加上失效需要几分钟(有时20分钟或更长时间)才能传播,这意味着您永远无法立即更改内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.