Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 使用AWS S3和Route 53托管静态网站_Amazon S3_Amazon Web Services_Dns_Amazon Route53 - Fatal编程技术网

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

Amazon s3 使用AWS S3和Route 53托管静态网站,amazon-s3,amazon-web-services,dns,amazon-route53,Amazon S3,Amazon Web Services,Dns,Amazon Route53,假设我目前在一个专用服务器上有一个网站www.a.com(完全静态),我想切换到AWS 到目前为止,我做了以下工作: 创建bucket www.a.com,授予适当的权限使其成为web(对公众可见),并上载所有文件。获得 我在AWS Route 53中创建了托管区,并自动获得了两个记录集,NS和SOA。 接下来,我为*.a.com添加了一个CNAME。有价值 现在的问题是,我应该为A记录添加什么?我没有IP。 (作为没有a记录的原因,www.a.com起作用,但a.com不起作用) 我可以使用我

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

到目前为止,我做了以下工作: 创建bucket www.a.com,授予适当的权限使其成为web(对公众可见),并上载所有文件。获得

我在AWS Route 53中创建了托管区,并自动获得了两个记录集,NS和SOA。 接下来,我为*.a.com添加了一个CNAME。有价值

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

我可以使用我的专用服务器来继续发送电子邮件吗?如果我有一个WHM/cPanel服务器,我应该如何设置MX


谢谢。

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

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

编辑:截至2012年12月27日,S3现在支持一种无需上述所有解决办法的方法。请查看AWS的博客。

首先,我建议添加一个名为a.com的额外bucket,并解决这个问题,但不要删除www.a.com,稍后您将添加一个CNAME,以便www.a.com在浏览器中重定向到a.com

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

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

{
  "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>选择您的域>转到记录集>创建记录集

确保“Type”设置为“A”,然后选择“Alias”旁边的“Yes”。单击Alias目标区域,在S3网站下,您现在应该可以看到a.com。选择它,然后在底部选择“创建记录集”


你完了

谢谢,到目前为止我正在使用裸体重定向服务。