我有清漆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服务器。