我读
如果您将CloudFront配置为将所有标头转发到您的来源 在缓存行为方面,CloudFront从不缓存关联的对象。 相反,CloudFront将对这些对象的所有请求转发到 起源。在该配置中,“最小TTL”的值必须为0。
现在我将最小TTL设置为0,并尝试转发所有标头,我从CloudFront收到错误消息: 您不能选择转发所有源于S3的标头。
如何使每个请求都检查s3的来源(以便立即在CloudFront中更新存储桶中的新对象)
答案 0 :(得分:0)
除非存储桶名称与域名完全匹配,否则您不能将所有标头转发到S3。
相反,请将“最小TTL”,“默认TTL”和“最大TTL 全部”设置为0。
当对象存储在存储桶中且未定义Cache-Control
值时,将使用默认TTL。当Cache-Control
指定一个非零TTL时使用最大TTL(CloudFront会出于内部目的将 down 的任何较大值强制为最大TTL)。除非在极少数情况下,否则最小TTL应该始终设置为0。
请注意,更改这些值需要无效,否则缓存中已存在的对象可能会使用先前的值。
或者,在将对象写入存储桶时,将s-maxage=0
添加到Cache-Control
标头值中,并确保Minimum TTL设置为0。