AWS Cloudfront 在使 s3 来源无效后给出 503

问题描述 投票:0回答:1

我有一个简单的设置,我让 Cloudfront 提供 s3 静态网站来源。行为设置为仅限 http,建议使用 s3 缓存策略,建议使用 s3 标头。然而,对于这个问题,我认为这些事情并不重要,因为没有其他改变,只有失效发生了。

我使用通配符 (*) 使来源无效,让 Cloudfront 使用新上传的文件。我的 s3 存储桶具有公共访问权限,并且事先可以正常工作。怎么了?

amazon-web-services amazon-s3 amazon-cloudfront invalidation
1个回答
0
投票

这可能是因为您的 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 看到您存储桶中的文件,您可能需要对此进行微调。

© www.soinside.com 2019 - 2024. All rights reserved.