ELB显示我的实例在适当的区域中可用,但不正常。我试图从这个实例向他自己的健康检查端点发出请求,但收到503。
curl-I公共IP:端口/目标健康端点
HTTP/1.1 503 Service Temporarily Unavailable
Date: Thu, 04 Aug 2016 17:25:10 GMT
Connection: close
Content-Type: text/html; charset=iso-8859-1
这是什么意思,我应该去哪里看?在aws上,doc只发现了这个:
Solution 3: Ensure that you have healthy instances in every Availability Zone that your load balancer is configured to respond in. Verify this by looking at the HealthyHostCount in CloudWatch.
如果您确实在ping EC2实例的公共IP地址,并且curl
在运行状况检查URL中返回503错误代码,那么不要再将其视为ELB问题。在AWS文档中找不到解决方案。
纯粹的事实是,您的EC2实例正在自行响应503。登录到您的EC2实例并修复该问题,直到它使用curl
以200状态代码作出响应。这可能是http服务器(IIS、Apache等(的配置问题。
顺便说一句,由于您的EC2实例由ELB引导,因此EC2实例应该位于私有子网中,而不是公共子网中。它不会让你的设置功能更好,但它会隐藏不需要公开的内容。