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

时间:2017-03-11 14:22:41

标签: security amazon-web-services ssl amazon-ec2 elastic-load-balancer

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

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

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

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

为什么我无法将负载均衡器的出站修复程序设置为ec2的安全组,并将ec2的入站修复程序设置为负载均衡器的安全组?

我的域名是SSL证书。但是我无法用https加载我的网站。使用http很好。为什么呢?

1 个答案:

答案 0 :(得分:1)

快速完整性检查:

  • 您只需通过网络浏览器访问您的ELB端点(不是路由53地址;原始ELB DNS端点),即可检查HTTPS是否正常工作。

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

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

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

通过在负载均衡器协议/端口上接受HTTPS,在实例协议/端口上接受HTTP,在ELB负载均衡器侦听器中管理此HTTPS终止。例如:

enter image description here

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

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

将您的Route 53记录与您的ELB

相关联

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

enter image description here

进一步阅读