我正在尝试设置 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 不喜欢大写字母。子域无法访问其中包含大写字母的存储桶,因为大小写丢失了。

10-06 14:08