gpt4 book ai didi

amazon-web-services - AWS 网络负载均衡器 SSL 直通

转载 作者:行者123 更新时间:2023-12-04 22:34:43 27 4
gpt4 key购买 nike

我正在尝试确保客户端和我的后端服务器之间的完整 e2e 连接。这就是我当前的基础架构的样子:

  • Fargate 集群,我的后端应用程序放置在私有(private)子网中。
  • 它们前面是内部网络负载均衡器,它也不暴露给外界。
  • REST API Gateway 与我的内部 NLB 的 VPC 链接集成。

  • 目前,我的 NLB 在端口 443 上使用 TLS 监听器并附加了证书,但正在终止 TLS 并通过端口 80 上的 TCP 与目标组进行通信。我的计划是也在我的 Fargate 节点上配置 TLS 和证书。
    目前我缺乏对以下设置如何工作的理解。是要将加密流量从我的客户端发送到后端应用程序,还是在 NLB 执行解密并在将流量发送到 Fargate 节点之前再加密一次?
    我已经了解到阅读许多博客,可以使用 NLB 实现直通行为,而无需解密/加密 NLB 上的流量,但没有找到任何示例,AWS 文档也不清楚这个主题。
    是否可以将证书仅应用于我的后端应用程序并仅在那里进行解密?我的理解是,我可能看起来类似于以下内容:
  • 在我的 Fargate 应用端配置的证书和 TLS
  • NLB 在端口 443 上具有 TCP 监听器,没有在 NLB 级别应用证书。因此 NLB 只会将加密流量从我的客户端传递到后端。

  • 有没有人尝试过建立类似的基础设施并且对如何配置有一些了解?
    问候。

    最佳答案

    我相信你的假设是正确的,Jarek。您还需要在 443 和 TCP TargetGroup 上创建一个带有 TCP 监听器的 NLB。您部署的 ECS 容器(Fargate 或其他)将是接收 TLS 请求、执行握手协商等的容器。如果您将在端口 443 上,您的 NLB 监听器实际上是一个 TCP channel ,并且 ECS 容器执行实际的 TLC工作。对于 ECS 容器,您可能希望使用 SecretsManager 来存储您的证书、 key 和链。
    如果您还需要客户端证书验证 (mTLS),您还需要存储客户端证书验证可能需要的任何其他链。
    执行此 NLB 设置的缺点是您失去了 NLB TLS 监听器的一些功能,例如它可以强制执行的 TLS 协议(protocol)限制。您可以自己在 ECS 容器上执行此操作,但容器确实变得更加复杂。
    需要注意的一个警告是 TargetGroup 可以执行的“保留客户端 IP”功能会破坏您的目标组。还没有想办法解决这个问题。到目前为止,还无法使用此设置进行此操作。
    此外,我怀疑有一种方法可以创建一个与启用了 TLS 的 ECS 容器的 TLS TargetGroup 匹配的 TLS 监听器,但对我来说,这似乎是多余的并且难以正确配置,因为解密会在 NLB 发生,然后它会重新加密TLS 目标组和 ECS 容器。如果有的话,我不确定它是如何工作的。我的理解是 AWS ELBv2 ALB 和 NLB 没有验证它们背后的任何 TLS 证书(需要引用)。不过,我个人还无法正常工作。

    关于amazon-web-services - AWS 网络负载均衡器 SSL 直通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67210192/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com