首页 > 解决方案 > AWS SSL Beanstalk 主机名不匹配

问题描述

我按照以下教程设置SSL 证书其父域托管在 aws 以外的其他提供商处,以创建与我的 REST Api的安全连接。 https://medium.com/@sonalishah_63223/how-to-host-subdomain-in-aws-route-53-for-an-existing-parent-domain-with-different-service-9b4dde061b85

设置:

托管区域 -> 记录指向 - Elastic Load Balancer - Beanstalk -> EC2(Spring 应用程序)

设置说明:

我创建了一个托管区域(sub.mydomain.at)。在该托管区域中,我创建了一条指向 Elastic Load Balancer的记录 ( api.sub.mydomain.at )。

一切正常,API 是可调用的。

之后我通过 ACM 创建了一个证书。(* .mydomain.at ) 已成功发布。

我将它附加到我的负载均衡器上,当通过 https:// 调用 API 时,它似乎可以工作。但是邮递员抛出以下错误。

SSL Error: Hostname/IP does not match certificate's altnames

我可以关闭“启用 SSL 证书验证”并且它会起作用,但这似乎不是正确的解决方案。 因此,我为未验证的域 api.sub.mydomain.at 创建了另一个证书。即使设置了 CNAME ,nslookup服务器也找不到域。(我认为不可能创建具有多个“子域”的 CNAME) _12312<long-_number>.api.sub.mydomain.at

那么如何解决“主机名/IP 与证书替代名称不匹配”的问题?

标签: amazon-web-services

解决方案


我认为在您的情况下,您正在转发请求(从 alb 公共 dns 到您的自定义域的 cname 记录 api.sub.mydomain.at)因此您需要在听者上添加 ALB 公共 dns 名称,如下所示:

request({host: 'ALB public DNS'... headers: req.headers 

推荐阅读