在亚马逊S3中托管静态网站,无需使用亚马逊路由53。

19

我尝试在Amazon S3中发布静态网站,按照所有步骤操作后成功了,但几分钟后它就不再工作了。

我没有使用Amazon Route 53,只是通过我的域名提供商(http://my.dot.tk/cgi-bin/login01.taloha)创建了一个CNAME文件。

我通过host my endpoint跟踪IP地址,但发现它经常变化。

由于Route 53不免费,与AWS免费使用计划不同,我不想使用它。

有什么线索吗?可能是Amazon防火墙导致的吗?


你可以免费使用Cloudflare DNS,如此问题所述。 - Mendy
3个回答

3

我有相同的问题。因为我的雇主处理DNS的方式,所以实际上我不能使用Route53。这是一个不太好看的解决方案,但我做的是拥有一个可免费使用的t1.micro ec2实例,其中运行着一个带有静态“弹性IP”的Web服务器。我的静态站点在s3中,我的域名指向弹性IP。ec2 Web服务器提供的页面本质上是包含来自s3的所需页面的iframe。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 width="100%" height="100%" frameborder="0" src="http://yoursite.s3-website-zone.amazonaws.com" />
        </div>  
    </body> 
</html> 

就像我之前说的,这是一个丑陋的解决方案,但它可以在我的非常简单的网站上运行。


1
你可以这样做,但效果不会很好。您需要创建一个CNAME记录以映射到端点,但无法用于顶级记录。您需要其他方法将流量从顶级转发到www.domain.com
S3、Cloudfront或一组IP或Geo-DNS可确定哪个IP地址将为给定请求提供服务。这不是您自己的DNS中可以有效复制的内容。
Route53的成本非常低,根据流量而定,可能每月只需1美元或更少。

我现在的做法(并且它不起作用)是使用CNAME记录,其中主机名=www.domain.com,IP地址=www.bucket-name.s3-website-eu-west-1.amazonaws.com。我不想使用Route 53,因为我只是在尝试,不打算为我的托管付费。而且因为它一开始就起作用了,这让我想知道如何使它再次起作用。 - Watchmaker
将您的存储桶名称与您的网站相同:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/troubleshooting-s3-bucket-website-hosting.html但即使在这种情况下,我也无法启用SSL并重定向http到https。 - Halil

-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接