【问题标题】:Deploying ReactJS application on AWS S3 with HTTPS使用 HTTPS 在 AWS S3 上部署 ReactJS 应用程序
【发布时间】:2018-07-09 00:10:44
【问题描述】:

我想在 AWS S3 上部署一个 ReactJS 应用程序(我成功地做到了)。现在我需要以尽可能低的成本使其成为 HTTPS。我怎样才能做到这一点?一个快速的谷歌搜索给了我一个叫做Amazon CloudFront的东西我很困惑我需要有一个Dedicated IP SSL Certificate来使用HTTPS部署我的反应应用程序吗?

我已经提到了this关于使用 S3 部署的问题。

谢谢

【问题讨论】:

标签: reactjs amazon-web-services ssl amazon-s3


【解决方案1】:

为什么我们需要使用 Cloudfront 的答案是:

注意:我们需要这样做,因为 SSL 证书只能分配给云端分发或 AWS ELB,所以您需要创建 一个为您的静态网站启用 SSL。

这涉及几个步骤,假设您已正确设置站点并使用 HTTP 端工作,这里有一些步骤:

1) 您需要向 AWS (ACM) 申请 SSL 证书,它是免费的,您不会因此而受到责备,请关注 AWS Documentation

  • 输入一个或多个域名,您要创建 SSL 证书 为了。您甚至可以使用通配符。
  • 验证您将收到的电子邮件地址与关联的电子邮件地址 域。

注意:根据您的 s3 存储桶选择区域,因为 Cloudfront 仅接受托管在区域 us-east-1 中的证书

2) 现在你需要创建Cloudfront Distribution

  • 创建一个新的 Web 分配并选择您的 S3 存储桶作为源 域名。选择 HTTPS 仅适用于 Viewer Protocol Policy
  • 在分发设置部分输入您想要的域名 托管您的静态文件。
  • 除此之外,保留所有默认设置并点击“Create distribution”

3) 现在将 SSL 证书分配给您的 Cloudfront 分配

  • 返回 Cloudfront 并编辑您的分配。现在你应该 能够选择您全新的 SSL 证书。

希望这会有所帮助..

【讨论】:

  • 感谢您的详细回答。您能否解释一下我何时需要专用 IP SSL 证书(因为成本太高)。
  • AWS 颁发的证书是免费的,您不需要专用 ip,因为它附加到 cloudfront ,以最大限度地降低您可以将 cloudfront 分发到特定区域的成本。
  • 但这是否意味着我的应用程序只能从该特定区域访问?
  • 不,您可以阅读有关 CDN 及其内容交付网络的信息,这意味着如果启用,例如,如果有人从印度访问您的网站并且您将其托管在美国地区,则 CDN 将缓存副本并将从孟买地区或我附近的其他边缘位置为我提供服务。 CDN(Cloudfront)在您的情况下是必要的,因为您使用的是 AWS SSL,并且它只能附加到 Cloudfront 和 AWS ELB,您的站点可以从世界任何地方访问。
  • 哦,非常感谢您的回答和您的时间:)
【解决方案2】:

如果您想详细查找内容,可以快速查看here。它只需 2 分钟的阅读时间并涵盖以下内容。

  • 使用 Https 云前端的 React Js 部署
  • 子域
  • 配置 AWS CLI 并通过命令部署构建

https://bluebash.co/blog/react-deployment-with-aws-ssl-https-with-subdomain/

【讨论】:

    猜你喜欢
    • 2017-04-14
    • 2017-02-08
    • 2021-07-29
    • 2019-11-11
    • 2018-09-30
    • 2016-12-12
    • 1970-01-01
    • 2014-05-25
    • 2016-12-25
    相关资源
    最近更新 更多