2011-11-17 45 views
1

我看到几个人描述如何做到这一点的自定义域与子域,但没有人谈论如何做到这一点没有一个。如何指向域以从Amazon S3提供静态网站? (而不是子域)

例子:Setting foobar.com and www.foobar.com to point to my Amazon S3–hosted site

我个人不想www前缀。没有办法做到这一点吗?亚马逊将它设置为允许静态网站和自定义域名,然后将其锁定到前缀域名似乎很疯狂?

由于提前,

回答

4

不幸的是你不能指向foobar.com到亚马逊S3存储和原因与DNS是如何工作的事情。

DNS不允许域名(称为区域顶点)的根指向另一个DNS名称(您不能将foobar.com设置为CNAME/only子域名.foobar.com可以是CNAME)

+0

人,就是这样一个令人失望。谢谢你清理它,但;我无法在任何地方找到确切的答案! – Benjamin

+2

既然Route 53支持'ALIAS'记录,这个答案不再是真的。别名记录允许域的顶点为同一个域中的存储桶,云计算分布,弹性负载平衡器或另一个主机名返回A记录(最后一点是,可以在不使用双精度模式的情况下执行此操作) CNAME的-dip)。 –

13

由于历史原因,任何URL都需要解析为您已知道如何处理的子域:使用您的DNS提供商创建CNAME记录,将www指向S3托管的子域。有些细节可以正确地描述,在其他地方很好地描述。

你还是要支持的用户是谁,迷住他们的浏览器会自动填充http://.com和这样的,要键入裸域domain.com,并让它自动完成到您的默认子域,如www.domain.com

完成此操作的最简单方法是使用www作为默认子域,并将您的DNS提供商的A记录指向wwwizer.com174.129.25.170)。他们会自动将任何裸域重定向到与前面的www相同的域。

如果您使用Amazon Route 53提供您的DNS服务,您将获得最快的开发周转,并且您的访问者将获得最快的DNS解析。路线53可以将其A记录指向wwwizer.com。但是,您可能希望创建一个微型Amazon EC2实例,并开始对其进行编程。在50年代,每个人都重建自己的汽车。在80年代,每个人都把一个购物车推到Fry's的通道上,并建立了自己的电脑。现在,您希望能够在云中构建自己的计算机,出于许多原因您会发现,而Amazon EC2是最佳选择。目前,您的云计算机将为您处理裸域。后来,生成静态网站的电子邮件...

安装Apache Web服务器(A在LAMP中; LAMP服务器将执行此操作),并为每个域配置一个虚拟主机。然后在您的EC2实例中指出一个弹性IP地址,并更新Route 53以使您的A记录指向此弹性IP地址。亚马逊不支持将多个弹性IP指向相同的EC2实例,但您可以为多个域A记录提供相同的弹性IP,并使Apache在您的EC2实例中解决此问题。

这需要一些摆弄和试验,因为细节上有很多相互矛盾的建议。我使用ami-ad36fbc4实例镜像(美国东部,64位EBS支持的Ubuntu 10.04 LTS),因为我熟悉Ubuntu,Ubuntu有很多在线帮助,而且这个镜像将会支持多年。我编辑/etc/apache2/httpd.conf有内容

NameVirtualHost * 

<VirtualHost *> 
ServerName first.net 
Redirect permanent/http://www.first.net/ 
</VirtualHost> 

<VirtualHost *> 
ServerName second.net 
Redirect permanent/http://www.second.net/ 
</VirtualHost> 

然后检查使用

sudo /usr/sbin/apache2ctl configtest 

然后重新使用

sudo /etc/init.d/apache2 restart 

Apache是​​跨Linux发行版的标准Apache服务器的错误,但在细节上,例如因为文件位置可能有所不同,例如可以是/etc/httpd.conf。例如,可能需要将Listen 80放在httpd.conf中,但如果该命令已经在其他地方,则Apache将引发错误。因此,请阅读网页说明,并准备Google提供的任何错误消息。

因为我已经在使用亚马逊路线53几天来指向wwwizer.com,这个工作立即一旦我更新路线53指向我的弹性IP。在切换到Route 53之前,每次更改都需要几天的时间来验证,因为信息通过网络传播。一旦每个人都知道要关注亚马逊,亚马逊可以更快地传播其内部变化。

+0

哇,写得很好!感谢您的全面信息! – Benjamin

1

由于这个问题被问到事情已经改变。现在可以使用根域来在S3上托管您的站点。

而不是只有一个名为“www.yourserver.com”的存储桶,您必须创建另一个带有裸(根)域名的存储桶,例如, “yourserver.com”。

之后,您将不得不使用亚马逊的DNS服务Route 53.为裸体域创建A记录并为“www”主机名创建CNAME。

请注意,您需要将域的域管理完全移至Amazon Route 53。

请参阅的相关详细步行经过这里:http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html

相关问题