6

我需要以下网址

http://liangpai.s3.amazonaws.com/uploadImage/shareImage/2012-10/506dc1ef71dcf.png

显示为:

http://imgs.liangpai.me/uploadImage/shareImage/2012-10/506dc1ef71dcf.png

我的 S3 存储桶名称是“liangpai”。在 Route 53 上,我新建了一个名为“imgs”的 CNAME,我输入的值是“liangpai.s3.amazonaws.com”</p>

在此之后,我看不到 S3 Web 链接更改为我的域链接。

这里有什么问题吗?

谢谢你的建议!

4

3 回答 3

21

S3 CNAME 要求存储桶名称与主机名匹配。如果您希望 S3 从 提供服务imgs.langpai.me,您需要创建一个名为 的存储桶imgs.langpai.me。有关更多信息,请参阅S3 文档

您可以创建一个 CloudFront 分配来回答imgs.langpai.me(请参阅CloudFront CNAME 支持)拥有它并将请求转发到langpai.s3.amazonaws.com. 当然,这也会产生 CloudFront 费用。

于 2012-10-11T04:20:36.853 回答
6

方法 1:S3 通过存储桶名称直接 CNAME

您可以按照以下步骤按存储桶名称创建 CNAME 记录。

  1. 使用您将用于 dns 条目的相同名称创建存储桶名称。即subdomain.mydomain.net

  2. 为subdomain.mydomain.net创建一个 cname 记录到s3.amazonaws.com

  3. 根据您计划授予的访问权限设置存储桶的权限

方法 2:S3 上的静态网站

如果您提供静态内容,例如图像、文件等,您可以为您的S3 存储桶使用“静态网站托管”

通过单击存储桶图标 ( 在此处输入图像描述) 选择您的存储桶,然后选择右侧的“属性”选项卡并展开“静态网站托管”。在静态网站托管面板中,选择“启用网站托管”单选按钮并设置索引和错误文档。此时,您将在此面板中看到一个“端点”名称。简单地创建一个以端点为值的 DNS CNAME 记录。你可以在这里阅读整个亚马逊演练

在此处输入图像描述

于 2014-03-05T22:45:25.410 回答
1

试试这个

使用您自己的存储桶 CNAME:

echo S3::getAuthenticatedURL("s3bucket.mydomain.com", $uri, 3600, true);

但是你putobject文件检查读取Everyone premisssion类型:

S3::ACL_PUBLIC_READ

$s3-> putObjectFile ($tmp, $bucketname , $path.$filename, S3::ACL_PUBLIC_READ )

于 2014-11-13T06:26:37.237 回答