在我的 AWS EC2 实例上设置负载均衡器

Setting up load balancer at my EC2 instance at AWS

我为我的实例设置了负载均衡器。 我的实例在 Auto Scaling 组内。

我的负载均衡器有 HTTPS 侦听器和来自 AWS 的 SSL 证书。 对于负载均衡器的安全组,入站规则设置为 https,端口 443,出站规则设置为 https,端口 443 和 EC2 实例的安全组。

然后EC2实例将https入站规则设置为负载均衡器的安全组,出站规则对所有人开放。 这种情况不起作用,我无法加载我的网站。

然后我将带有 0.0.0.0/0 的 http 入站添加到 EC2 实例的安全组,我可以加载我的网站。

为什么我不能将负载均衡器的出站修复设置为 ec2 的安全组,以及将 ec2 的入站修复设置为负载均衡器的安全组?

我的域名有 SSL 证书。但是我无法使用 https 加载我的网站。使用 http 没问题。为什么?

快速完整性检查:

  • 您可以通过 Web 浏览器使用 HTTPS 访问您的 ELB 端点(不是路由 53 地址;原始 ELB DNS 端点)来检查 HTTPS 是否正常工作。

  • 如果您的应用程序不管理 SSL,您的 ELB 不应将 HTTPS 流量转发到您的 EC2 实例。让ELB终止HTTPS,转为HTTP转发。

检查您的实例端口是否正确

ELB 的一个常见模式是让 ELB 为您管理 HTTPS; HTTPS 在负载均衡器处终止,负载均衡器将流量作为 HTTP 转发到您的 EC2 实例。除非您的应用程序专门管理您的 SSL,否则这就是您想要的并且您需要配置您的 EC2 层以接受 HTTP 流量。

此 HTTPS 终止在 ELB 负载均衡器侦听器中进行管理,方法是在负载均衡器 protocol/port 上接受 HTTPS,在实例 protocol/port 上接受 HTTP。示例:

听起来您的 ELB 正试图将流量作为 HTTPS 转发到您的应用程序,并在 HTTPS 端口上,而您的应用程序配置为接受 HTTP。只需编辑此 "Instance Port" 即可在您的应用程序期望 HTTP 流量的端口上接受流量。示例:端口 80

您还可以将 EC2 实例安全组上的 HTTP 入站流量限制为仅允许来自 ELB 安全组,而不是 0.0.0.0/0。

将您的 Route 53 记录与您的 ELB 相关联

要将路由 53 记录与您的 ELB 相关联,只需创建一个别名为您的负载均衡器的 IPv4 记录。您的负载均衡器应显示为别名下拉菜单中的资源之一。

进一步阅读