我正在尝试设置CloudFront来提供图像,但是当前访问它不起作用并返回错误“指定的存储桶不存在。”
<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist</Message>
<BucketName>someBucketName</BucketName>
<RequestId>irrelevant</RequestId>
<HostId>
irrelevant
</HostId>
</Error>
CloudFront要求您使用域来托管而不是URL作为基础。该域名为.s3.amazonaws.com,应该等同于s3.amazonaws.com/bucketName。
那就是说,我可以通过网址访问内容:
https://s3.amazonaws.com/someBucketName/image.jpg
但不是通过
https://someBucketName.s3.amazonaws.com/image.jpg
返回相同的错误。知道为什么会这样吗?我需要做些什么才能使其成为可用的子域名吗? https和http也是如此。
答案 0 :(得分:8)
问题在于AWS不喜欢大写字母。无法从子域访问包含大写字母的存储桶,因为外壳丢失了。
答案 1 :(得分:0)
我今天遇到了同样的问题,我的问题是因为我配置了一些缓存标头值。 我修复了缓存头 = None 然后问题就解决了。 config cache