将 https 侦听器添加到 AWS Application Load Balancer 时出现问题

Posted

技术标签:

【中文标题】将 https 侦听器添加到 AWS Application Load Balancer 时出现问题【英文标题】:Trouble when adding https listener to AWS Application Load Balancer 【发布时间】:2021-12-28 01:06:51 【问题描述】:

我目前正在尝试为我的后端程序(Spring Boot)设置 https。我的第一步是使用 AWS Fargate 部署我的后端程序,它在 http 中提供公共 IP。

然后我为 AWS Fargate 仅使用 http 设置了 AWS Application Load Balancer。 这个过程是成功的,我可以通过 LB 调用我的 BE 程序,其域如下所示:(这里的数字和 lb 名称不是真实的)

test-lb-123456.ap-southeast-1.elb.amazonaws.com

然后我想为LB添加一个https监听器,所以我点击了“添加监听器”和“请求新的ACM证书”,如下图所示

然后,当系统提示您输入域名时,我添加了上面提到的确切域。

但是这个请求总是失败并报错

Additional verification required to request certificates for one or more domain names in this request

我的问题是,我这样做是否正确?当提示要求新证书时,我是否应该在上面添加“test-lb ...”域?如果不是,那我应该使用什么域?

谢谢

编辑:显然图像可能还没有正确显示,因为我是一个低声誉的用户,希望图像能够在审核后显示。 reference

【问题讨论】:

【参考方案1】:

无法获得test-lb-123456.ap-southeast-1.elb.amazonaws.com 的有效 SSL 证书。这是因为该域属于 AWS。要在 ALB 上获取 HTTPS,您需要您自己的域。您可以从 Route53 或任何外部域名注册商处购买。

拥有自己的域后,您可以使用 AWS ACM 为其获取免费的 SSL 证书。

【讨论】:

这是否意味着我必须为我的后端服务购买另一个专用域,然后将此 test-lb-123456.... 注册到该域? @Aldoaldo 如果您已经拥有自己的域,您可以创建一个子域,例如(api.mydomain.com)。所以从技术上讲,不需要一个完全独立的域。 我明白了,最后一个问题,所以在我创建 (api.mydomain.com) 之后,我需要将它连接到我的负载均衡器,对吗? @Aldoaldo 你必须获得api.mydomain.com 的 ssl 证书,并且还要创建从 api.mydomain.com 到 Route53 中的 ALB 的 alais 记录 我明白了,注意到了。会尝试

以上是关于将 https 侦听器添加到 AWS Application Load Balancer 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

AWS CloudFormation Application Load Balancer - 如何将 HTTP 侦听器重定向到 HTTPS 侦听器?

AWS系列-添加购买的https证书

AWS 网络负载均衡器和 HTTPS 端点 [关闭]

AWS负载均衡器监听器添加后消失

AWS CDK 并在现有 ALB 上创建 ECS/Fargate 服务。使用现有的监听器?

AWS Copilot 多负载均衡 Web 服务