1

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

有没有人遇到过类似的问题,如果是,那么他们尝试的解决方法是什么。

4

1 回答 1

2

这是许多其他客户的已知问题。这可以通过使 Nginx 的缓存无效以查看上游 ELB 的 IP 是否更改来解决。我们可以在 Nginx 中使用解析器指令。参考- https://gc-taylor.com/blog/2011/11/10/nginx-aws-elb-name-resolution-resolvers,https://distinctplace.com/2017/04/19/nginx-resolver- _解释/

于 2017-12-25T05:24:13.080 回答