对 AWS ALB 上的 HTTPS 进行故障排除:目标组运行状况检查失败

pix*_*ker 6 https amazon-ec2 amazon-web-services amazon-elb

我在为我的 AWS EC2 实例设置 HTTPS 时遇到问题。简而言之,我正在 EC2 实例上运行一个程序,能够将数据从客户端安全地传输到 AWS 至关重要。

到目前为止我所做的:

在 AWS 上:

  • 启动了 EC2 实例(t2.micro、ubuntu)。该实例处于活动状态并且运行良好,并且可以通过 SSH 进行访问。
  • 通过 Amazon 的证书管理器在 www.ourdomain.com 下创建公共 SSL 证书
  • 使用之前的证书创建了一个带有 HTTPS 侦听器(在端口 443 上)的面向 Internet 的应用程序负载均衡器
  • 使用我们的 EC2 实例创建目标组并将其添加到负载均衡器
  • 对于负载均衡器安全组,启用从任何​​地方入站 HTTPS,以及到 EC2 实例安全组的出站 HTTP 和 HTTPS
  • 对于实例安全组,启用来自负载均衡器安全组的入站 HTTPS

在 GoDaddy 上:

  • 创建 CNAME 记录(主机:www.ourdomain.com,值:负载均衡器 DNS 名称)

问题:

  • 在我的目标组的“目标”选项卡下,我看到以下内容:“这些可用区都不包含运行状况良好的目标。请求正在路由到所有目标”
  • 此外,在目标组的“目标”选项卡下,实例的信息按钮显示:“运行状况检查失败,代码如下:[502]”
  • 如果我检查 ssllabs.com 上的域,我会收到“评估失败:无法连接到服务器”

我想尽可能避免使用 Route53,不幸的是我找不到不涉及 Route53 的此问题的 AWS 文档。

我不是网络或 AWS 专家,因此完全有可能缺少一些简单的东西。非常感谢任何和所有建议!

小智 0

502 是一个坏网关,您有一些路由问题。很可能是您的安全组或路由表。

您的 alb/elb 和 ec2 实例应位于同一 VPC 的不同子网中。

您的 elb 应接受端口 80 上的连接并将其重定向到端口 443,并且您的 EC2 实例应接受来自 elb 所在子网的端口 80 上的连接。

创建一个目标组,该目标组指向 EC2 实例所在的子网(端口 80),但您必须确保您的实例实际上正在侦听该端口。

然后创建一个使用该目标组的 ELB。

对于您的端口 80 侦听器规则,请确保它重定向到https://www.ourdomain.com:443/?,状态码http_301。

对于您的端口 443 侦听器规则,转发到您的目标组。

  • 为什么它们需要位于单独的子网中? (3认同)