繁体   English   中英

使用AWS S3和Route 53托管静态网站

[英]Hosting static website with AWS S3 and Route 53

假设我目前在专用服务器上拥有网站www.a.com(完全静态),并且我想切换到AWS。

到目前为止,我已经执行了以下操作:创建存储桶www.a.com,获得适当的权限以使其成为网络(公共可见)并上传所有文件。 获取http://www.a.com.s3-website-eu-west-1.amazonaws.com

我在AWS Route 53中创建了托管区域,并自动获得了两个记录集,即NS和SOA。 接下来,我为* .a.com添加了一个CNAME。 其值http://www.a.com.s3-website-eu-west-1.amazonaws.com

现在的问题是,我要为A记录添加什么? 我没有IP。 (由于没有A记录,www.a.com有效,但a.com不起作用)。

我可以使用我的专用服务器以某种方式继续提供电子邮件吗? 如果我有WHM / cPanel服务器,应如何设置MX?

谢谢。

首先,我建议添加一个名为a.com的其他存储桶,然后进行处理,尽管不要删除www.a.com,您以后将添加一个CNAME以便www.a.com重定向到a.com在浏览器中。

现在,您已经创建了a.com存储桶,请转至“属性”>“静态网站托管”>“启用网站托管”>输入index.html并将具有该名称的文件上传到您的存储桶。

然后转到属性>权限>编辑存储桶策略>粘贴以下代码:

{
  "Version":"2008-10-17",
  "Statement":[{
    "Sid":"PublicReadForGetBucketObjects",
        "Effect":"Allow",
      "Principal": {
            "AWS": "*"
         },
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::example-bucket/*"
      ]
    }
  ]
}

将{example-bucket}更改为{a.com}并保存。

现在转到Route53>选择域>转到记录集>创建记录集

确保将“类型”设置为“ A”,然后在“别名”旁边选择“是”。 单击“别名目标”区域,在S3网站下,您现在应该看到a.com。 选择它,然后在底部选择“创建记录集”。

你完成了。

这是在S3上托管静态站点时经常遇到的限制。 您有几种选择。

  • 使用dignslookup或类似工具确定S3存储桶使用的IP地址。 这行得通,但是随着亚马逊改组其IP,最终可能会破裂。
  • 使用除Route53之外的提供“裸重定向”服务的DNS提供程序。 当有人访问您的根目录时,DNS提供程序将执行HTTP 301重定向到您的“ www”记录。
  • 在您自己的服务器/ EC2实例上托管一个非常简单的网站,该网站发出相同的HTTP 301重定向。

编辑:从2012年12月27日起,S3现在支持一种无需上述所有解决方法的方法。 查看有关S3的根网站托管的AWS博客。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM