AWS ELB负载平衡器保持健康检查失败(HTTP)

时间:2016-08-29 20:23:52

标签: amazon-web-services amazon-ec2 amazon-elb elastic-load-balancer

在我的EC2实例上,我的应用程序正在使用端口80,因此无法安装Apache以简单地使ELB运行状况检查成功。

对于ELB上的健康检查设置, 我正在使用端口 - HTTP / 80 Ping Path - /index.html

我已将此index.html放在/ var / www和/ var / www / html /目录中。

<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<BODY>
   <H1>Hi</H1>
   <P>Hello to the World.</P> 
</BODY>
</HTML>

为什么这是健康检查失败的任何线索? 没有这个,我的EC2实例就没有流量。

2 个答案:

答案 0 :(得分:1)

发现问题..一旦我为我的LB创建了一个新的安全组,并将其保留为用于EC2的SG的IB,它运行正常。在LB&amp; amp;上保持相同的SG无论出于何种原因,EC2都会让它破裂。

http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html

答案 1 :(得分:0)

只要页面返回200响应,它最终应该通过运行状况检查。运行状况检查配置包括运行状况检查需要返回良好结果的次数以及检查它的频率。因此,健康计数为5,每30秒检查一次需要2.5分钟才能恢复健康。

如果HTTP运行状况检查失败,请根据配置的服务器在端口8080或80上使用TCP运行状况检查进行尝试

此外,为了以防万一,请检查您的VPC配置是否允许从Load Balancer到EC2实例的连接。如果它们位于同一子网中,则这将是自动的,但网络ACL可能会影响不同子网之间的连接。

还要检查以下内容;

您的实例是否在ELB后面运行Web服务器?如果是,它返回'200'(OK)?如果没有,那就是你的问题。

如果您运行的是返回200的Web服务,您的安全组是否对ELB开放?这意味着ELB的源安全组必须允许进入您的实例的安全组。

ping路径应该是您在浏览器中输入ELB的URL后要命中的文件名。