服务器上的 AWS 负载均衡器、静态 IP 和 SSL 终止(不是负载均衡器)

Posted

技术标签:

【中文标题】服务器上的 AWS 负载均衡器、静态 IP 和 SSL 终止(不是负载均衡器)【英文标题】:AWS Load Balancer, Static IP's and SSL termination on the server (not load balancer) 【发布时间】:2020-10-22 02:14:06 【问题描述】:

目标:将弹性/静态 IP 分配给负载均衡器 (LB),以服务于处理 DNS(端口 53)、HTTPS(端口 443)、HTTP(端口 80)的 EC2 实例。

需要静态 IP 才能正确配置 DNS 记录(即 A 记录)。后端/服务器上的 TLS 终止需要提供无限量且不断变化的 SSL 证书,因此避免了 Amazon Certificate Manager (ACM),因为它有限制。

Classic Load Balancer 将允许自定义安全规则并允许 EC2 实例上的 SSL 终止。问题是静态 IP 不能分配给 Classic LB,只能分配给其中的单个实例,这不会平衡负载。

要分配静态 IP,我们可以使用带全局加速器的应用程序负载均衡器 (ALB) 或网络负载均衡器 (NLB);但它们都强制 TLS 终止并阻止实例提供 SSL 证书。

我错过了一片吗?我什至不想吃蛋糕,我想分享它。有人有解决办法吗?

【问题讨论】:

【参考方案1】:

使用网络负载均衡器。它将通过以下方式进行配置:

DNS - UDP 或 TCP 侦听器,具体取决于其使用方式。 HTTP - TCP 监听器 HTTPS - TCP 监听器

是的,网络负载平衡器确实支持 SSL 终止的 TLS 侦听器,但您可以使用 TCP 侦听器让服务器负责 SSL 终止。

您将为网络负载均衡器的每个可用区附加一个静态 IP 地址。

【讨论】:

谢谢!这正是我所需要的。我之前在端口 443 上尝试了 TCP 侦听器,但我一定没有等待足够长的时间让侦听器生效,我无法连接,所以我将其更改为 TLS。 HTTPS 现在可以与 NLB 上的 443 TCP 侦听器完美配合 :)

以上是关于服务器上的 AWS 负载均衡器、静态 IP 和 SSL 终止(不是负载均衡器)的主要内容,如果未能解决你的问题,请参考以下文章

将公共静态 ipv4 地址添加到 AWS 负载均衡器

AWS Elastic Beanstalk 环境的静态 IP,带有用于 Tableau 可信身份验证的负载均衡器

AWS 使用负载均衡器设置 DNS

如何在 AWS 上获取 kubernetes 负载均衡器服务的永久 IP 地址?

负载均衡器的 AWS EKS 服务 EXTERNAL-IP 处于待处理状态

使用 tomcat 服务器和 aws 负载均衡器将 http 请求重定向到 https