提问人:vagabond492 提问时间:4/19/2023 更新时间:4/20/2023 访问量:124
AWS Cloudfront 在使 s3 源失效后提供 503
AWS Cloudfront giving 503 after invalidating s3 origin
问:
我的设置很简单,我让 Cloudfront 提供 s3 静态网站源。该行为设置为仅 http,建议使用 s3 缓存策略,建议使用 cors 标头 s3。但是,对于这个问题,我认为这些事情并不重要,因为没有其他任何变化,只是发生了无效。
我使用通配符 (*) 使源失效,以允许 Cloudfront 使用新上传的文件。我的 s3 存储桶具有公共访问权限,并且事先正常工作。怎么了?
答:
1赞
kala
4/20/2023
#1
这可能是因为您的 s3 存储桶策略。您的 Cloudfront 能够在失效之前获取对象,但不知道对象的版本,因此无法确定对象是否为新对象。
我建议你试试这个桶策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::your-bucket-name-here/*"
}
]
}
这允许 Cloudfront(以及其他所有内容)查看存储桶的版本,以便在失效后扣除是否有更新的版本。如果您只想让 Cloudfront 看到存储桶中的文件,则可能需要对此进行微调。
评论