我正在尝试设置 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。
也就是说,我可以通过 url 访问内容:
https://s3.amazonaws.com/someBucketName/image.jpg
但没有通过
https://someBucketName.s3.amazonaws.com/image.jpg
返回相同的错误。知道为什么会这样吗?我需要做些什么才能使它成为可用的子域? https 和 http 也是如此。
最佳答案
问题是 AWS 不喜欢大写字母。子域无法访问其中包含大写字母的存储桶,因为大小写丢失了。