我记得在某个地方读到,使用Amazon S3托管静态网站存在严重的陷阱。我忘记了那是什么。对我来说,S3似乎是一个完美的选择。超级快,超级可扩展且按需付费。

使用S3托管静态网站的负面影响是什么?

评论

简而言之,以下答案并没有说明不使用S3的任何充分理由。 www重定向现在很容易解决。

#1 楼

我仍然感到震惊的是,人们认为Content Delivery Networks昂贵,每GB收费仅为0.20c。专用服务器,而无需实际付费,而且您在全球所有主要地区都有一台服务器,因此在速度和可扩展性方面,它实际上比专用服务器要有效。

在CDN上托管时有一些主要的挫折,它们是:

没有PHP文件

PHP支持(您需要通过Ajax使用联系表单从其他地方检索contact.php,HTML方法很糟糕–如果您不需要联系表单,那么(很棒!)对于注释之类的事情,您可以使用Disqus,即JavaScript。)

CNAME问题

不幸的是,大多数CDN不支持非www CNAME,因此当有人忘记了www时,您无法解决域名,这不是主要问题,但是有很多解决办法。您设置了EC2或共享主机,并让其通过重定向处理非www。因此,每当有人忘记www与服务器进行通信时,它就会正确地重定向到CDN。一种替代方法是选择一个支持此功能的CDN-我相信Limelight可以,但Amazon和Rackspace则不支持。我听说过Limelight托管DNS并在其系统上手动进行编辑,但我自己从未做过,因此无法确定是否这样做。

内容更新

另一个缺点是您需要清除要编辑的内容或文件,例如说您对index.html进行了一些添加,则需要在容器上设置一个短暂的到期时间或手动清除从缓存中获取该文件,以便在全球范围内进行更新。

摘要

在CDN上托管静态站点是静态的-我在CDN上运行了几个静态站点,而且它们都是静态的,我在每个站点上只使用1-2GB,每个站点的账单为£0.24p,共享主机,并为您提供专用服务器的性能。如果您要设置除EC2以外的小型VPS进行重定向,则任何128mb的VPS都会这样做。您可以以每月1美元的价格获得便宜的产品。仅Google 128mb VPS或每月5美元以下的VPS-有数百家公司针对花生使用低规格VPS就能解决问题。

评论


Cloudflare的非www cname名称没有问题。再加上免费套餐也不错

– elssar
13年1月28日在1:52

亚马逊有一个称为Route 53的dns服务,可用于将tld路由到www子域。

–gang
2014年8月15日在9:47

具体来说,AWS Route 53具有ALIAS记录,您在其中输入了另一个主机名(就像对CNAME所做的一样),但是DNS服务器会定期(秒)进行查找,并将记录与IP地址一起提供(A记录)。

–斯蒂芬·奥斯特米勒(Stephen Ostermiller)
16年1月26日在21:27

#2 楼

问题出在“现收现付”部分。

如果您获得大量流量(即DOS攻击或非常流行的博客文章或文件),则需要付费。 />
AFAIK仍然没有为您所支付的金额设置上限的功能。您可以设置帐单提醒,但是如果帐单达到最大预算,您唯一的选择就是关闭网站,否则您将为获得的所有流量付费。

评论


要考虑的事情:Heroku允许您仅支付所需的费用,但最终可能会失去一些无法访问该网站的访问者。另一方面,AWS可让您确保捕获所有访问者,但您必须为此付费。根据您是否设置广告/将点击转化为现金的其他某种形式,随需付款的要求可能有所不同;例如,一个小型的酷网络应用程序可能会受益于Heroku(或类似服务)。

– Abhishek Divekar
17年5月5日在5:35

#3 楼

S3并不是AWS静态网站托管的唯一工具。推荐的方法是将CloudFront放在S3实例的前面,以便CloudFront可以处理缓存。我相信这也将消除您为增加流量而付出的麻烦,因为CloudFront将使用其缓存来提供文件,而不用命中S3。当然,您必须支付CloudFront的费用,但费用会减少(我认为)。 />http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html

#4 楼

就带宽而言,它实际上有点高估了。直到最近,他们还遇到了一个问题,即您无法将@和www A记录都映射到您的站点(因此,您可以访问mydomain.com或访问www.mydomain.com)。但是,此问题已在最近的更新中得到修复。 S3可以很好地托管大型文件和图像。