![](/img/trans.png)
[英]CNAME in DNS Configuration registrar Bookmyname for S3 static hosting
[英]Static hosting on Amazon S3 - DNS Configuration
我正在开发一个小型webapp(所有客户端)我想在Amazon S3上托管它。 我已经找到了几个这方面的指南,并设法创建了一个桶(与我的域名相同),将其设置为网站并上传一些内容。
在我努力的地方,以及所有文档开始变得有点模糊的地方,是如何正确配置我的DNS。
我的所有注册商( 123-reg )都可以建议网络转发给我mydomain.com.s3.amazonaws.com
我需要配置什么,以及在哪里(即123-reg / Amazon)可以获得干净的URL?
听起来你已经完成了大部分工作。 为清楚起见,我会再次检查这些步骤,以确保您的设置正确:
使用您的域名作为存储桶名称创建一个s3存储桶(如果您希望您的网站是example.com或www.example.com,您的存储桶名称应为www.example.com)
将您的内容上传到s3存储桶。 为您的网站索引文件选择一致的名称(通常是index.html)。 您还可以上传404 Not Found错误的自定义页面。 请拨打404.html。 为您网站中的每个文件授予读取权限,以便公众可以查看它。 不要对存储桶提供任何额外的权限,只包括其中的文件。
将您的存储桶配置为网站。 使用AWS控制台( https://console.aws.amazon.com/s3/ ),您可以选择存储桶,单击属性,然后选择“网站”选项卡。 单击“启用”并将索引文档设置为“index.html”,将错误文档设置为“404.html”。 您还需要设置具有访问权限的存储桶,以允许通过Web访问( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
记下网站配置选项卡中的“端点”URL。 这是您网站的所在地。 您可以在新窗口中打开链接,您应该看到您的网站。 单击并确保一切按预期工作。
您必须在以下所有步骤中使用端点地址。 正常的www.example.com.s3.amazonaws.com无法使用 - 您需要使用区域版本( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
现在,我们可以设置DNS以为您提供干净的自定义URL。
首先,我们会将www.example.com映射到您的网站。
使用DNS提供商的工具(在您的情况下为123-reg),您需要创建CNAME记录以将www.example.com映射到www.example.com.s3-website-us-east-1.amazonaws.com
如果您只是想要www.example.com,那么CNAME是您唯一需要的。 大多数人也希望“example.com”工作,所以我们需要另一步。
example.com通常被称为裸域或域的顶点记录。 这是一个问题的原因是它不能是CNAME。 CNAME仅适用于“www”等子域。 这使得指向s3变得更加困难。
通常的方法是使用服务自动将任何发送到example.com的请求重定向到指向www.example.com。 然后,这将获取您的CNAME记录,您的网站将从s3提供。
使用普通旧DNS无法实现自动重定向,因此您必须使用其他服务。 一些DNS提供商提供此服务以及他们的DNS(godaddy确实如此,amazon route53没有。不确定123-reg)
如果您的DNS提供商不这样做,那么有一些免费服务。 我使用的是http://wwwizer.com/naked-domain-redirect - 它不需要任何注册或付款。
要使用此类服务,您需要为裸域创建DNS“A”记录。 对于wwwizer.com服务,您需要创建A记录以将example.com指向174.129.25.170。 就这样!
因此,使用此设置,如果用户在其浏览器中键入example.com,则会发生以下情况:
请享用!
我相信您必须选择存储桶中的所有文档,右键单击,然后选择“公开”。 每次桶中的某些变化时,您都必须这样做。 然后我通常右键单击存储桶,选择属性,在右侧窗格中选择权限,然后添加“Everyone as a”grantee“,然后只给它们”list“权限。你的文章的其余部分非常好。关于裸域的部分帮助我可以解决我的问题。您也可以将裸域重定向到S3中“静态网站托管”下的www域。这可能是最简单的方法。再次感谢您的帮助。
蒂姆
从123-reg控制面板上的高级DNS屏幕
这给了我以下内容;
DNS条目 类型 优先级 TTL 目的地/目标
* A. 81.xx.xx.xx
@ A 81.xx.xx.xx
@ MX 10 xx0.123-reg.co.uk
@ MX 20 xx1.123-reg.co.uk
www CNAME www.example.com.s3-website-us-east-1.amazonaws.com
从他们的管理DNS指南pdf中可以看出,“@ record”是指“你的域名是最纯粹的,没有子域名”,即裸域stackoverflow.com
但它没有提到“*记录”是什么,我认为它将捕获所有子域并认为它可能超过CNAME记录,但事实并非如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.