Varnish + nginx + ELB 499 个回复

Varnish + nginx + ELB 499 responses

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

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

重启 nginx 即可解决问题。

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

为什么重启nginx可以解决问题?

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

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

2) nginx 仅在 reload/restart

上解析 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 服务器