Elastic Beanstalk 经典负载均衡器 HTTPS 未连接
Posted
技术标签:
【中文标题】Elastic Beanstalk 经典负载均衡器 HTTPS 未连接【英文标题】:Elastic Beanstalk classic load balancer HTTPS not connecting 【发布时间】:2020-10-11 17:10:56 【问题描述】:我正在尝试在 Elastic Beanstalk 上实施 SSL,以便我可以访问我网站中的网络摄像头。
我有一个来自 NameCheap 的域名,我使用 https://medium.com/@ryan_waits/using-aws-elastic-beanstalk-and-namecheap-to-deploy-and-host-your-node-js-app-dc4129d0eb2c 的最后一些步骤通过 Route 53 托管区域将其配置到我的 Elastic Beanstalk 实例。
我的证书成功显示在我的负载均衡器中。我正在使用 Classic Load Balancer,因为我相信这是 AWS 免费套餐中唯一允许的。我通过https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-elb.html 的步骤配置了我的负载均衡器。然后我在 EC2 中配置了我的安全组设置,例如 Can't access HTTPS site on Elastic Beanstalk after configuring HTTPS in the load balancer 。 HTTP 有效,但尝试 HTTPS 给了我类似 NET::ERR_CERT_INVALID 的信息。我认为这是一个非常简单的路线设置,我搞砸了。最后,我希望每条路由都指向 HTTPS。
配置:
-通过 Route 53 的托管区域:名称为 www.huntermitchell.net,类型为 A-IPv4 地址,别名已打开并设置为我当前的环境
-来自 Elastic Beanstalk 控制台配置的经典负载均衡器:
-来自 EC2 控制台的安全组:
出站设置与入站相同。我也有两个安全组,我不确定这是否正常,但我用于所有内容的那个具有“在创建 ELB 期间未指定 ELB 安全组时使用的 Elastic Beanstalk 创建的安全组”的描述。另一个有“SecurityGroup for ElasticBeanstalk environment”的描述。提前致谢!
【问题讨论】:
【参考方案1】:我正在使用 Classic Load Balancer,因为我相信这是 AWS 免费套餐中唯一允许的一种
您可以在free tier 上使用 ALB 和 CLB:
经典负载均衡器和应用程序负载均衡器每月共享 750 小时
您遇到的错误NET::ERR_CERT_INVALID
与安全组无关。相反,这很可能与在您的 CLB 上使用了错误的认证有关 - 与您的域不匹配的认证。一个常见的原因是为证书注册wildcard 域。此类证书仅适用于子域,不适用于父域:
当您申请通配符证书时,星号 (*) 必须在域名的最左边,并且只能保护一个子域级别。
更多关于 AWS 工作原理的信息是here。
因此,我会查看证书及其设置,以确定问题的确切来源。
【讨论】:
以上是关于Elastic Beanstalk 经典负载均衡器 HTTPS 未连接的主要内容,如果未能解决你的问题,请参考以下文章
重新部署后如何使用 Elastic Beanstalk 处理经典负载均衡器
如何使用 CLI 配置 Elastic beanstalk 经典负载均衡器以终止 HTTPS
无法为在 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器)
Cloudformation 协助 Elastic Beanstalk 和 Application Load Balancer