Varnish + nginx + ELB 499回复

时间:2016-10-23 08:20:09

标签: sockets nginx varnish amazon-elb varnish-4

我有使用nginx的varnish 4服务器作为连接到ELB的反向代理。

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

重新启动nginx正在解决问题。

为什么我开始收到这些499回复?

为什么重启nginx解决问题?

1 个答案:

答案 0 :(得分:1)

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

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

2)nginx仅在重新加载/重新启动时解析DNS名称

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

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

http {  

    resolver x.x.x.x valid=30s;

}

server {

    set $elb "example.com";

    location / { 

        proxy_pass http://$elb; 

        }
}  

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