Nginx反向代理到另外一台服务器,域名解析IP变更后连接超时
nginx mesos-dns 结合时
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
相关推荐
某些公司会墙特定网站,如果你有一个可访问的域名和服务器,就可以通过nginx反向代理来来解决这些问题。比如现在我们用mirror.example.com镜像www.baidu.com,以下是详细操作。