首页 > 解决方案 > 使用后端快速应用程序设置 AWS ELB

问题描述

我有一个为了好玩而构建的网络项目。它是反应,快递,mongodb

我目前有一个我们将调用 foo.com 的 aws 域,我的 react 应用程序链接到该域。我正在使用 S3 和 cloudfront 来路由 foo.com,因为我的反应应用程序位于 S3 中。

我为 foo.com 创建了 SSL 证书。

一切正常

现在在 EC2 实例上,我有一个 Express.js 应用程序,我将其用作休息服务器。所以我的反应应用程序使用我的弹性 IP 在我的 EC2 实例上使用 REST 进行调用。

由于我将 SSL 添加到我的反应应用程序中,它现在不允许非 SSL 调用进入我的 api,所以我正在尝试解决这个问题。

我设置了一个 ELB 并使用我的 foo.com 证书(错误?)指向我的 EC2 并通过安全组打开端口 80 和 443,一切正常。除了我的证书是针对 foo.com 的。我的后端服务器只是设置为使用弹性。或者我猜现在是负载均衡器 URL。因此,如果我尝试通过负载均衡器 URL 将 URL 加载到我的快速应用程序,则会收到无效的证书名称错误。

如何使用 SSL 让我的 react 应用程序对我的 express 后端进行 http 调用。我要创建新证书吗?证书似乎想要一个像 foo.com 这样的 DNS 名称,但我的后端服务器只是一个弹性 IP。

不太确定如何将所有这些联系在一起,我想我 90% 都在我需要的地方。?

需要在 S3 上使用证书和 DNS 名称 foo.com 获取我的 react 应用程序,以便仅使用弹性 IP 与 EC2 实例上的我的休息服务器(快速)通信?或负载均衡器 URL?我该怎么办才能获得证书?

标签: node.jsreactjsamazon-web-servicesexpress

解决方案


您需要将证书添加到负载均衡器,并将域指向负载均衡器。类似的东西api.foo.com。为此,您可以在 DNS 提供商中创建 CNAME 记录,该记录指向负载均衡器的 DNS 名称。然后让你的 React 应用在那个域名上调用你的 API。您可以在 AWS Certificate Manager 中免费创建将附加到 ELB 的证书。

您添加到负载均衡器的证书需要是 forapi.foo.com*.foo.com.


推荐阅读