【问题标题】:SSL integration for Node.js app behind AWS ELBAWS ELB 后面的 Node.js 应用程序的 SSL 集成
【发布时间】:2023-04-07 15:03:01
【问题描述】:

我有 AWS 实例(在负载均衡器后面)为移动客户端提供 Node.js / Express 应用程序。我想为此应用程序上的 API 调用启用 SSL。关于如何增强我的 Express 应用程序以使用 SSL 的教程有很多,但是人们可以建议在这种情况下 ELB 配置应该是什么?

我应该让 ELB 侦听器(负载平衡器端和实例端)为 http(不是 https)吗?然后让 Node.js 应用使用来自 LetsEncrypt 的证书?

或者我应该让负载均衡器基于 https(因此拥有来自 AWS Certificate Manager 的自己的关联证书)?在这种情况下,LetsEncrypt 证书会发生什么 - 我是否仍将其与 Node.js 应用程序集成?

非常感谢!

【问题讨论】:

    标签: node.js amazon-web-services ssl amazon-elb lets-encrypt


    【解决方案1】:

    您将在负载平衡器上启用 SSL 并使用 ACM 证书。除非您只想加密 ELB 和服务器之间的通信,否则您不需要 NodeJS 服务器上的 SSL 证书。

    【讨论】:

    • 感谢@Mark B - 非常感谢。据我了解,如果我确实需要后端身份验证(不是我真的需要!),客户端应用程序是否必须以任何方式反映这一点? IE。如果 ELB 和后端都有自己的证书,我对客户端的哪些变化感到困惑?此外,从后端服务器到客户端的通信如何加密(ELB 和后端身份验证在那里不起作用) - 道歉 - 相当基本的 SSL 相关/离题问题....再次感谢....
    • 客户端将完全不受后端加密的影响。只有 ELB 需要了解后端加密,您只需更改 ELB 配置中用于与后端通信的端口/协议即可。
    • 当您说“ELB 和后端身份验证在那里不起作用”时,我不知道您所说的后端和客户端之间的通信是什么意思。您是否在客户端和后端之间发生了不通过负载均衡器的通信?
    • 现在有意义@Mark B ...使用您的cmets和一些进一步的阅读,我现在更好地理解了这里的选项。你是对的 - 没有直接通信。客户端和后端之间。只是为了确认我的理解,你能不能。请查看以下替代方案!再次感谢! 1. 在 ELB 使用 SSL 终止。您的建议是什么... 2. 在 ELB 上启用 SSL 终止,然后使用后端身份验证在 ELB 和后端之间强制重新加密。我可以在后端使用 LetsEncrypt 证书。 3. 使用 SSL 直通,无需 ELB 认证。
    • 3.续。据我了解,不可能使用 ELB 和 HTTP 实现 SSL-passthrough,因为 ELB 无法解密和理解消息类型。因此,为了实现这一点,我们要么移除 ELB 并使用单个 Node.js 服务器,要么通过 ELB 仅为 TCP 连接的应用程序实现 SSL 直通。很抱歉有多个问题 - 只是想在这里澄清我的理解,以便我可以正确地构建解决方案!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    相关资源
    最近更新 更多