在S3上使用https托管SPA或静态网站的最便宜方法

Sam*_*Sam 6 ssl https amazon-s3 amazon-web-services amazon-route53

问题

我想托管多个网站,每个网站都带有ssl(https),并且不必花更多的钱。

我还想尽可能地继续使用Route53(但不是必需的),因为我知道如何使用它,而且每月只花约0.50美元。

背景

我对后端/服务器的了解非常有限。

我已经创建了一些React网站(我认为我正确地使用了static一词,有一些JavaScript发生了变化),当前我将它们托管在ec2上。我使用certbot(lets-encrypt)为我的网站启用https。域名通过Route53和Namecheap处理。

S3和Cloudfront

我想将我的网站放到S3上以节省成本。我需要https。我看过的大多数教程都是关于使用Cloudfront的。看来cloudfront会让我付出类似于ec2所付出的代价,所以这我来说似乎不是一个解决方案。也许我错了?费用会微不足道吗?

Route53和NGINX

看来我可以使用Route53做到这一点?詹卢卡·卡萨蒂(Gianluca Casati)给出了答案,但他并没有为我提供足够的细节。

其他一些教程对此进行了解释,但是谈论设置NGINX服务器,我真的不知道这是什么。如果可能,我想避免使用NGINX,但如有必要,我会使用它。

这开始变得非常复杂,所以我想知道是否有更简单的方法。如果不是,则涉及所有步骤


旁注(如果您也可以回答此问题,将有所帮助,但不是必需的)

我也想要好的SEO。对于至少一个网站,看起来这将涉及使用rendertron或puppeteer等进行动态渲染。并非我所有的网站都需要这样做,但是一个会。很高兴知道这是否可行。


摘要:

  • 我正在寻找一种经济高效的方法来托管多个静态网站
  • 看起来该方法是通过将每个存储在Amazon S3的
  • 我希望每个网站都具有SSL(HTTPS)
  • 看起来Cloudfront可以做到这一点,但无论如何也无法真正为我省钱
  • 看起来有一种使用Route53做到这一点的方法
  • Route53方法可能需要NGINX代理服务器,我不知道大部分是什么。

Aar*_*ron 5

我将按顺序为您的问题提供答案。

Cloudfront:成本会微不足道吗?

是的,非常令人难以置信。以下是来自我的AWS账户的随机账单的屏幕截图:

在此处输入图片说明

这是典型的AWS发票上显示的Cloudfront定价明细:

在此处输入图片说明

Route53:我可以使用Route53这样做吗?

是的,这将是必要的。NGINX是不必要的。

您将需要的4种AWS服务是:

  • S3:创建一个启用了“网络托管”并且名称与您所需的域名url相同的存储桶。例如:“ www.jacobswebsite.com”或“ jacobswebsite.com”
  • Cloudfront:因为您不能直接在S3存储桶上安装SSL证书,但是可以在Cloudfront发行版上安装SSL。
  • Route53:当用户键入URL时用于指向DNS记录的内容。您将以一种简单的方式将“ www.mysite.com” DNS记录指向Cloudfront-Cloudfront将指向您的S3存储桶。
  • AWS Certificate Manager:借助它,您可以生成免费的自动更新浏览器兼容的SSL证书。如果Route53正在为您的域处理DNS,则SSL生成是一键设置,需要等待30分钟。然后,您可以从下拉菜单中将这些SSL证书安装到CloudFront分发中。

这是基本过程的出色指南:

https://medium.com/@sbuckpesch/setup-aws-s3-static-website-hosting-using-ssl-acm-34d41d32e394

您可以跳过有关SES的基本设置部分,但是,如果您需要设置提交到电子邮件收件箱的表单,则可能需要调查一下。

简而言之,答案是肯定的。您可以在没有大量后端服务器知识的情况下使用S3和Cloudfront来实现目标,每月只需花几便士。上述方法和服务正是您的操作方法。