2

我有一个在 AWS 上运行的 Nodejs/Express 应用程序。我的公共 URL ( www.example.com) 在主机提供商 (SiteGround) 中注册。

我的应用程序的主机提供商 DNS 条目指向 AWS(application.example.com指向我的 AWS 公共 IP)。

我的主机提供商也有我们公司的网站运行 WordPress。

因此,如果您指向我们的公共 URL,您将获得我们的网站。指向应用程序,您将获得我们的 SaaS 登录页面。

所有这些都可以通过 HTTP 正常运行。我现在的任务是将所有内容迁移到 HTTPS。我已经检查了如何将 HTTPS 添加到 nodejs,一切都很好。

我的问题与证书有关。问题:

a) 我应该在我的托管公司还是 AWS 上获得 SSL 证书?两者都提供证书。

b)我是否需要 AWS 上的证书(添加到 nodejs)和我的域(以允许 HTTPS 域访问)或仅在 nodejs 中?

4

2 回答 2

0

我将尝试回答以下每个问题:

a) 我应该在我的托管公司还是 AWS 上获得 SSL 证书?两者都提供证书。

如果亚马逊颁发的证书足以满足您的需求,例如基本的 https 加密,为了简单起见,我会选择使用它们。您只需要填写表格,进行验证,亚马逊负责确保其安全并在到期时自动更新。

b)我是否需要 AWS 上的证书(添加到 nodejs)和我的域(以允许 HTTPS 域访问)或仅在 nodejs 中?

AWS 颁发的证书只能用于 AWS 托管服务,例如 Application Load Balancer 和 CloudFront - CDN。有许多文档解释了如何使用 AWS 证书和 EC2 后端设置 ELB,请检查Create a Classic Load Balancer with an HTTPS Listener

为了在您的 EC2 虚拟机中使用它们,您需要在您的网络服务器中下载和配置它。我认为 AWS 永远不会允许它避免安全漏洞。

于 2018-08-16T00:43:04.633 回答
0

只要您的提供商为您提供授权证书,您从哪里获得证书并不重要。但是,如果您使用 Amazon 的证书管理器,则可以更轻松地与他们的服务集成。

如果您通过 AWS 负载均衡器为您的应用程序提供服务,则无需将其添加到 Node.js 应用程序,而是通过证书管理器获取证书并将其添加到负载均衡器中的侦听接口,它会得到服务自动这样。

使用 HTTPS 侦听器创建 Classic Load Balancer

应用程序负载均衡器的 HTTPS 侦听器

如果您直接为您的应用程序提供服务,那么您需要将它添加到 Node.js 应用程序中(例如使用https模块)。

于 2018-08-15T22:11:41.430 回答