清漆+ nginx + ELB 499回应

我有清漆4服务器与nginx作为反向代理连接到ELB。

每2天左右,我的服务器停止响应,并在nginx access.log中看到499个响应

重启nginx正在解决这个问题。

为什么我开始得到这些499响应?

为什么重新启动nginx解决这个问题?

理解了两个事实后,我解决了我的问题:

1)ELB实例具有动态DNS名称

2)只有在重新加载/重新启动时,nginx才能解析DNS名称

问题是ELB改变了它的IP地址,nginx保留了旧的IP地址。

解决方法是在nginx.conf中使用解析器。 这是我的nginx.conf:

http { resolver xxxx valid=30s; } server { set $elb "example.com"; location / { proxy_pass http://$elb; } } 

解析器IP地址应该是/etc/resolv.conf中的DNS服务器。