CNAME到s3斗亚马逊

Eri*_*Ven 11 amazon-s3 amazon-ec2 amazon-web-services

我想在amazon.com上使用子域而不是直接url到我的s3桶.因此,而不是通过http://bucket-images.s3-eu-west-1.amazonaws.com/path/to/image.png我想要使​​用的网址下载图像http://assets.domain.com/path/to/image.png.我尝试像这样设置一个CNAME:

CNAME   assets   domain.com    bucket-images.s3-eu-west-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

但在设置此CNAME后,当我访问域时,我从亚马逊收到此类错误:

<Error>
    <Code>NoSuchBucket</Code>
    <Message>The specified bucket does not exist</Message>
    <BucketName>assets.domain.com</BucketName>
    <RequestId>45646DFSDFSFASDF</RequestId>
    <HostId>
        dfasdcvcvd546456454ds5fasdf4ad5f64asdfasdfccdfgvggtg
    </HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)

在这里,他们告诉要更改桶名:https://forums.aws.amazon.com/message.jspa messageID = 237562 但这没有意义.我之前曾参与过一个项目,他使用了一个与子域完全不同的桶名.所以必须有办法...任何可以帮助我的人?

Sam*_*eff 22

对于S3,您需要匹配CNAME和存储桶名称:

存储桶名称必须与CNAME相同.所以http://images.johnsmith.net/filename是一样http://images.johnsmith.net.s3.amazonaws.com/filename如果CNAME创建映射images.johnsmith.net到images.johnsmith .net.s3.amazonaws.com

因此,在您的具体示例中,您需要为存储桶命名assets.domain.com.

http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingCustomURLs

如果您需要更大的灵活性,可以为S3存储桶创建CloudFront分配,并为您的CloudFront分配分配CNAME.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

  • 云前线,就是这样!!非常感谢。 (2认同)
  • 值得一提的是,虚拟主机 URL 不允许使用 SSL,这可能会很麻烦。因此,如果您需要基于 HTTPS 的 URL,则需要使用其他选项,例如 CloudFront。 (2认同)