将SSL添加到服务器端呈现的应用程序

问题描述 投票:0回答:1

我正在将我当前的S3托管反应应用程序转换为服务器端呈现的反应应用程序。我知道我应该为此添加HTTPS以确保安全性,但我对我应该做的事情感到有些困惑。

目前,我有一个托管我的API的EC2实例(这是一个微服务)。此服务器具有私钥和证书。

现在我对SSR的理解是这样的 -

  1. 我有一个节点服务器服务于服务器端呈现html的某些路由。
  2. 此节点服务器与我的域相关联。
  3. 当用户访问我的域时,他们将会遇到由此服务器提供服务的html。
  4. 然后,该服务器将对我的api服务器进行API调用。

我希望3和4加密。

我的API服务器有一个私钥,它是带有证书的通配符密钥。

我可以在我的服务器上使用相同的私钥和证书来呈现我的HTML吗?

否则,为渲染html的服务器生成新的私钥/证书对吗?所以在这种情况下,有两个SSL握手 - 一个在用户和html渲染服务器之间,一个在html渲染服务器和api服务器之间。

后者似乎没必要。什么是正确的选择?

reactjs ssl single-page-application
1个回答
1
投票

当您在https上提供您的网站(UI)时,您还必须在https上向您的api发出请求,即您不能拥有例如。 https://HelloFoo.com从非https api获取数据。

您必须从某个供应商处获取域名,并且使用域名您将获得支持该域名的证书(letsencrypt是免费服务),您必须上传证书(公钥,私钥和证书链文件)到网络负载均衡器来处理请求。

在您的网络负载均衡器中,您应该能够创建默认路由(/)以指向您的html服务和(/ api /)到您的api服务。

您不仅可以在一个域上的不同服务上使用相同的证书,也可以在多个域上使用它们(您需要向证书提供商注册)

© www.soinside.com 2019 - 2024. All rights reserved.