如何将 AWS 应用程序负载均衡器配置为超过 25 个 SSL 证书限制
Posted
技术标签:
【中文标题】如何将 AWS 应用程序负载均衡器配置为超过 25 个 SSL 证书限制【英文标题】:How do I configure AWS application load balancers to go beyond the 25 SSL certificate limit 【发布时间】:2019-12-14 14:02:00 【问题描述】:AWS 应用程序负载均衡器有 25 个 SSL 证书安装限制。
我想配置我的弹性 beanstalk 环境,可能带有多个负载均衡器,这样我就可以超越这个限制并安装更多证书,每个负载均衡器 25 个。我相信这对大多数 SaaS 开发人员来说是一个有用的问题。
是否有人制作了允许超过 25 个 SSL 证书/域的配置?
可能的一种方法是,对于未安装在端口 443 上的 HTTPS 侦听器上的主机,我可能会创建一个转发到例如的规则。比如说端口 40443,但是,我需要为每个新的 SSL 证书/主机/租户添加一个规则。此外,我不确定浏览器客户端是否会注意到端口更改并转到 domain.com:40443 而不是隐藏端口。
无论如何,如果您有其他解决方案,我很乐意听到。
限制是每个“监听器”,所以我尝试在同一个端口 443 上创建一个新的监听器,但这是不允许的。
这是限制页面的参考:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
【问题讨论】:
你解决了这个问题吗?我也处于类似情况并计划在应用程序负载均衡器上使用多域 ssl。 我与一位 AWS 解决方案架构师交谈,并被告知要在同一个弹性 beanstalk 环境中安装更多负载均衡器。您处理此问题的方式是,负载均衡器仍会将工作负载发送到相同的 Web 服务器组。该负载均衡器的 25 个域集将指向唯一的负载均衡器地址。例如。每 25 个域,您必须提供一个不同的 ALB 地址来指向。没有自动方法可以在弹性豆茎中进行设置。您需要一个云形成堆栈或试验 EBS 配置。我自己还没做过。 laravel-news.com/unlimited-custom-domains-vapor 你试过这个吗?如果您使用的是 Laravel,那将是解决方案。 【参考方案1】:我认为现在没有办法提高限制。
这位作者确实提出了一种解决方法,即使用多个 ALB 与 NLB 通信。
https://cloudonaut.io/more-than-25-ssl-certificates-with-ecs/
【讨论】:
【参考方案2】:Amazon Certificate Manager (ACM) 以及 ALB 具有这些严格的限制(每个 ACM 1000 个证书,每个负载均衡器 25 个)。我们也遇到了这个问题,在与 AWS 支持人员交谈后,我们了解到即使增加限制也无法满足我们的 saas 需求。还支持多个 ALB 看起来像是开销。
作为替代解决方案,我建议使用 nginx 作为基于 EC2 的反向代理,它将代理您所有域的请求。你可以向这个 nginx 机器添加任意数量的证书,处理不同的域。您唯一需要实现的就是管理这些证书(例如,实现 ACME 协议并从 LetsEncrypt 获取证书)。
此外,AWS Marketplace 已经建议了几个实施自动证书管理 (ACM) 的现成解决方案,这意味着它们将为您处理所有 SSL 逻辑(证书创建、续订、代理请求和签名响应)。
【讨论】:
【参考方案3】:为什么需要这么多 SSL 证书?您尝试过 WildCast SSL 证书吗?https://en.wikipedia.org/wiki/Wildcard_certificate
【讨论】:
我不确定第一个问的人的情况。但是假设您正在管理一个 CMS SaaS,并且您允许您的客户使用他们自己的域,还希望允许 HTTPS(Google 和所有互联网都转向所需的 HTTPS) 如果您从同一个负载均衡器为不同的域提供服务,则不能使用通配符。以上是关于如何将 AWS 应用程序负载均衡器配置为超过 25 个 SSL 证书限制的主要内容,如果未能解决你的问题,请参考以下文章
AWS beanstalk 应用程序 https 配置不起作用