我按照以下教程设置了一个SSL证书,该证书的父域托管在另一个提供商上,而不是aws,以创建到我的REST Api的安全连接。https://medium.com/@personalish_6323/如何操作-主机-子域-主机-路由-53-用于外部-主机-带差异服务-9b4dde061b85
设置:
托管区域->记录指向-弹性负载均衡器-Beanstalk->EC2(春季应用(
设置说明:
我创建了一个托管区域(sub.mydomain.at(。在那个托管区域中,我创建了一个指向弹性负载均衡器的记录(api.mydomain.at(。
一切正常,API是可调用的。
之后,我通过ACM创建了一个证书。(*.mydomain.at(,该证书已成功颁发。
我将它连接到我的负载均衡器上,当通过https://调用API时,它似乎可以工作。但是Postman抛出以下错误。
SSL Error: Hostname/IP does not match certificate's altnames
我可以关掉";启用SSL证书验证";它会起作用,但这似乎不是正确的解决方案所以我为域api.sub.mydomain.at创建了另一个证书,该证书未进行验证。根据nslookup
,即使设置了CNAME,服务器也找不到域。(我认为不可能创建具有多个"子域"的CNAME(_12312<long-_number>.api.sub.mydomain.at
那么我该如何解决";主机名/IP与证书不匹配alt名称"?
我认为在您的情况下,您正在将请求(cname record api.sub.mydomain.at从alb public dns转发到您的自定义域(所以你需要在hearder上添加ALB公共dns名称,如下所示:
request({host: 'ALB public DNS'... headers: req.headers