在 Amazon S3 中托管静态网站而不使用 Amazon 路由 53
Posted
技术标签:
【中文标题】在 Amazon S3 中托管静态网站而不使用 Amazon 路由 53【英文标题】:Host static web site in Amazon S3 without using Amazon route 53 【发布时间】:2013-08-06 16:52:34 【问题描述】:我尝试在 Amazon S3 中发布一个静态网站,在完成所有步骤后,我设法做到了,但几分钟后它就不再工作了。 我没有使用 Amazon Route 53,我只是使用我的域提供商 (http://my.dot.tk/cgi-bin/login01.taloha) 创建了一个 CNAME 文件。 我通过 host my endpoint 跟踪 IP,但我看到它经常变白。 我不想使用 Route 53,因为它不像 AWS 免费使用套餐那样免费。
有什么线索吗?可能是亚马逊防火墙?
【问题讨论】:
您可以免费使用 cloudflare DNS,如this question中所述 【参考方案1】:我有同样的问题。由于我的雇主处理 DNS 的方式,我实际上不能使用 Route53。这是一个丑陋的解决方案,但我所做的是拥有一个符合免费层级条件的 t1.micro ec2 实例,该实例带有一个使用静态“弹性 ip”运行的 Web 服务器。我在 s3 中有我的静态站点,我的域名指向弹性 ip。 ec2 网络服务器提供的页面本质上是 iframe,其中包含来自 s3 的所需页面。 ec2 实例上的 html 如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<style type="text/css">
body, html
margin: 0; padding: 0; height: 100%; overflow: hidden;
#content
position:absolute; left: 0; right: 0; bottom: 0; top: 0px;
</style>
</head>
<body>
<div id="content">
<iframe frameborder="0" src="http://yoursite.s3-website-zone.amazonaws.com" />
</div>
</body>
</html>
就像我说的,这是一个丑陋的解决方案,但它适用于我极其简单的网站。
【讨论】:
【参考方案2】:可以,但效果不太好。您需要创建一个 CNAME 记录以映射到您不能用于顶点记录的端点。您需要一些其他方式将流量从顶点转发到大概www.domain.com
。
S3、Cloudfront 一组 IP 或 Geo-DNS 以确定哪个 IP 地址将为给定请求提供服务。这不是您可以在自己的 DNS 中有效复制的东西。
Route53 的成本非常低,根据流量,它可能达到每月 1 美元或更少。
【讨论】:
我现在拥有它的方式(它不起作用)是使用 CNAME 记录,即 Hostname=www.domain.com 和 IP Address=www.bucket-name.s3-website-eu -west-1.amazonaws.com 我不想使用 Route 53,因为我只是在尝试并且不打算为我的托管付费。而且因为它在一开始就起作用了,这让我想知道如何让它再次起作用。以上是关于在 Amazon S3 中托管静态网站而不使用 Amazon 路由 53的主要内容,如果未能解决你的问题,请参考以下文章
在 CloudFront/S3 中托管 Angular 应用程序 *无需* S3 静态网站托管
Amazon S3 静态 Web 托管不适用于自定义域名(点问题)