Nginx有时会向上游抛出502坏网关作为Amazon ELB

时间:2017-12-13 03:01:58

标签: nginx amazon-elb ttl bad-gateway

ELB动态地向上和向下扩展,因此ELB可以在不同时间解析为不同的IP集合。 Nginx缓存上游目标的IP,因此不需要一次又一次地解析主机名。但是当上游ELB的IP发生变化时(即一些旧的IP不再是ELB的一部分),我们会遇到问题,因为Nginx继续将流量转发到旧IP,后者不再附加任何目标。因此,该IP(VM或其他)抛出502或坏网关,并且Nginx也向客户端返回相同的502状态。我们可能会遇到这个问题,因为Nginx没有尊重dns记录的TTL。

有没有人遇到类似的问题,如果有,那么他们尝试了什么修复。

1 个答案:

答案 0 :(得分:2)

这是许多其他客户的已知问题。这可以通过使Nginx的高速缓存无效来查看上游ELB的IP是否发生变化来解决。我们可以在Nginx中使用resolver指令。 请参阅 - https://gc-taylor.com/blog/2011/11/10/nginx-aws-elb-name-resolution-resolvershttps://distinctplace.com/2017/04/19/nginx-resolver-explained/