Nginx反向代理到另外一台服务器,域名解析IP变更后连接超时

nginx mesos-dns 结合时

location ~ .* {
        pro xy_pass http://www.example.com/;
        proxy_set_header X-Real-IP $remote_addr;
}

之前www.example.com是解析到IP为A的,由于后端服务器IP变更为B,并且域名解析也改成了B,现在再访问时Nginx出现502或504等Gateway Time-out错误,查看nginx的error.log(如下)发现nginx连接的IP还是以前的IP A,除非重启Nginx才会正常。

2014/11/16 12:03:41 [error] 9531#0: *12264 upstream timed out (110: Connection timed out) while connecting to upstream, client: 14.209.152.128, server: 127.0.0.1, request: "GET / HTTP/1.0", upstream: "http://A/", host: "127.0.0.1"

最好在hosts里指定被代理的域名和ip对,也就是手动添加解析,否则dns解析什么时候变化不确定,而且代理的网站多的话,只要有一组域名dns解析失败,nginx就会停止运行

 用域名是最不济的方法。会造成各种问题,比如慢、不稳定等等。

别想偷懒,老老实实用ip,更新ip后更新conf配置。或者用hosts文件也行。

https://www.oschina.net/question/197670_184301 

相关推荐