amazon-web-services - 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 与证书替代名称不匹配”的问题?
解决方案
我认为在您的情况下,您正在转发请求(从 alb 公共 dns 到您的自定义域的 cname 记录 api.sub.mydomain.at)因此您需要在听者上添加 ALB 公共 dns 名称,如下所示:
request({host: 'ALB public DNS'... headers: req.headers
推荐阅读
- java - NoClassDefFoundError 错误编码
- java - JButton 释放动作
- firebase - Geofire在一个非常大的firebase数据库android中搜索
- php - echod php后删除mysql数据
- laravel - 带有有线卡支付网关的 Laravel
- google-apps-script - 谷歌脚本正在将变量的先前值传递给谷歌表
- c++ - C++ 通过引用传递?
- graphics - 如何绘制在 Mathematica 中易于修改和简单完成的分岔图?
- android - Android - 引用使用的片段
- javascript - JavaScript 数组如何具有非数字键?