我想使用Amazon S3通过cloudfront提供JS文件。
我已配置cloudfront以更新存储桶策略并生成此策略
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity **********"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET-NAME/*"
}
]
}
该文件已交付,因此每个人都可以加载它,但我在云端日志中有拒绝访问权限
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>23EF9D4EF83B9E7B</RequestId>
<HostId>**************</HostId>
</Error>
如果文件已发送,为什么会出错?这个错误是重要的吗?
感谢您的帮助
答案 0 :(得分:0)
您的策略是允许CloudFront虚拟用户访问ACL为私有的存储桶中的内容。这意味着CloudFront可以访问内容。
错误消息最有可能发生在没有引荐来源标头的情况下尝试访问CloudFront的用户(普通用户之外)。查看CloudFront日志以查看拒绝的请求类型。