栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nginx代理的域名对应的ip更换后还解析到之前的ip

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx代理的域名对应的ip更换后还解析到之前的ip

问题

使用nginx做反向代理,将请求发送到一个域名(例如: proxy_pass http://www.test.com 该域名对应的IP是A) ,刚开始运行一切正常,但是当运行了一段时间以后,域名对应的IP变了(例如http://www.test.com对应的IP由A变为B),nginx的转发仍然还在向原先的IP发送请求,导致业务中断,此时reload nginx后才会重新恢复正常,且日志显示数据转发到新的IP B了,请问如何让nginx自动去重新解析域名,而不用每次出现问题了人工去reload?

原因
  1. 正常情况下 启动nginx后(或者 -t / reload nginx时),nginx会通过操作系统配置的DNS服务器去解析域名对应的IP。
  2. 当nginx配置文件中的所有涉及到的域名都可以被正常解析到以后,才能启动(或者检查/重新加载)通过。
  3. 在(-t或者  reload nginx时) 只是检查域名是否可以解析通过,并不会在此时缓存域名对应IP,只有在通过nginx第一次向proxy_pass后端对应的域名做代理数据转发时,这里nginx会通过操作系统配置的DNS服务器解析域名,此时才会缓存域名对应的IP,且会缓存很长时间,以后的请求都会通过此缓存进行解析,如果IP换了,没有进行重启或者reload,nginx的转发仍然还在向原先的IP发送请求。

处理方法
  1. 当nginx的ip变话时重启或者reload nginx;
  2. 通过resolver配置dns地址用来解析upstream中的域名

     

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/422239.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号