用 nginx 反代一个域名,域名 dns 变更后 nginx 返回 504
- 0次
- 2021-05-26 16:44:13
- idczone
用域名 www.abc.com 反代 www.abcd.com
server {
listen 80;
server_name www.abc.com;
location / {
proxy_pass http://www.abcd.com/;
}
}
当 www.abcd.co大带宽服务器m 的dns解析更换了新IP之后,访问 www.abc.com 会返回504错误。
查看nginx log看到 www.abcd.com 仍然解析为旧IP。在server上的dns缓存已经新IP,但nginx获取到的仍然是旧IP。这时只有 reload or restart nginx,才会更新dns信息,访问正常。
请问nginx有没有能够实时更新被反代域名的dns信息?
nginx 的 DNS 缓存时间的问题。
DNS 解析原理: http://theantway.com/2013/09/understanding_the_dns_resolving_in_nginx/
两种方法: http://serverfault.com/questions/240476/how-to-force-nginx-to-resolve-dns-of-a-dynamic-hostname-everytime-when-doing-p
不对
是Nginx upsteam的问题
http://nginx.org/en/docs/http/ngx_http_upstream_module.html/>除非商业版加resolve,DNS解析是在读取配置时完成的,不会跟踪。