Amazon S3:静态网站:自定义域或子域

时间:2011-02-18 16:07:29

标签: amazon-s3 dns subdomain hosting

Amazon.com刚刚宣布可以在S3存储桶中托管静态网站。我在http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html访问了他们的设置页面并为我的静态网站创建了一个存储桶,它工作正常。我有一个http://[my存储桶名称格式的网址.s3-website-us-east-1.amazonaws.com /。

但是,我想将我拥有的子域(例如static.mydomain.com)指向我在Amazon S3的静态网站。有没有人想出怎么做?

我感谢你能给我的任何帮助。

6 个答案:

答案 0 :(得分:175)

事实证明,要使其工作,您不能只将任意子域映射到任意存储桶。 完全限定的子域名必须与S3存储桶名称相同

  1. 假设您网站的名称为 static.mydomain.com 。然后,您需要创建一个名为 static.mydomain.com 的同名S3存储桶。
  2. 将该存储桶配置为S3静态网站后,会为其分配一个类似 http://static.mydomain.com.s3-website-us-east-1.amazonaws.com 的网址。
  3. 转到您的域名托管服务商,并将您的子域名映射到步骤2中的网址。在enom.com中,这意味着将主机“ 静态 ”映射到地址“ static.mydomain.com.s3-website-us-east-1.amazonaws.com “作为CNAME记录。
  4. 感谢UriahDavid提出建议。我最终得到了Amazon AWS forum的答案。

答案 1 :(得分:5)

确保在创建存储桶时遵循S3 DNS bucket naming conventions

然后:

  1. 使用属性中的AWS管理控制台启用对网站的S3网站支持 - >网站

  2. 确保存储桶中的文件具有公共读取权限

  3. 使用管理控制台中列出的端点

  4. 尝试使用该网站
  5. 使用列出的端点设置您的CNAME(例如www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com

答案 2 :(得分:4)

  1. 创建一个托管区域,例如mydomain.com。您可以使用基于网络的用户界面DNS30
  2. 现在为此托管区域创建一个CNAME条目。
  3. 添加资源记录 以下详细信息名称为“mydomain.com”                      输入“CNAME”                      价值“mydomain.com.s3.amazonaws.com”                      TTl为“在您所需的配置上”
  4. 希望这也适用于static.mydomain.com

    问候 -

    Udit

答案 3 :(得分:4)

答案 4 :(得分:3)

如何使用DNS服务,例如亚马逊提供的Route 53。使用从您的子域到公共存储区URL的CNAME进行设置。当然,如果您的域名公司提供CNAME配置,那么可以直接使用。

答案 5 :(得分:1)

更新2019:在S3中托管AWS自定义子域

到目前为止,以下步骤已为我工作,以便为AWS S3托管的静态网站提供一个有效的子域:

  1. 使用子域名创建存储分区。在此示例中,www。 subtest .mysite.com

aws bucket

注意:确保在存储桶的“权限”标签上: -阻止公共访问(存储桶设置) -访问控制列表和 -桶政策 进行适当设置以确保存储桶是公共的。 (假设您已经为根域存储桶执行了此操作,那么这些设置可以镜像到该子域存储桶上)

AWS bucket permissions

  1. 在存储桶中上传 index.html 文件

index file in s3 bucket

    与您的域名提供商
  1. 创建 CNAME记录 CNAME record in namecheap