关于Nginx反向代理DDNS的DNS缓存问题
在使用nginx做反向代理的,将请求发送到一个动态DDNS域名的时候,该动态DDNS域名对应的IP是A ,刚开始运行一切正常,但是当运行了一段时间以后,该动态DDNS域名对应的IP变了之后(例如对应的IP由A变为B),nginx的转发仍然还在向原先的IP A发送请求,导致反向代理中断,此时reload nginx后才会重新恢复正常,且日志显示数据转发到新的IP B了,请问如何让nginx自动去重新解析域名,而不用每次出现问题了人工去reload?
造成这个问题的主要原因是,在Nginx启动的时候会做域名解析,然后把IP缓存起来以后会一直使用解析到的IP并且不会再更改,除非重新启动Nginx,Nginx才会重新解析域名。
第一种解决方案,利用nginx的resolver
1、默认nginx会通过操作系统设置的DNS服务器(/etc/resolv.conf)去解析域名
2、其实nginx还可以通过自身设置DNS服务器,而不用去找操作系统的DNS
3、下面来讲一个这个resolver示例配置如下:
[code]server {
listen 8080;
server_name localhost;
resolver 114.114.114.114 223.5.5.5 valid=3600s;
resolver_timeout 3s;
location / {
proxy_pass http://mydomain.com;
}
}[/code]
参数说明:
# resolver 可以在http全局设定,也可在server里面设定
# resolver 后面指定DNS服务器,可以指定多个,空格隔开
# valid设置DNS缓存失效时间,自己根据情况判断,建议600以上
# resolver_timeout 指定解析域名时,DNS服务器的超时时间,建议3秒左右
#注意:当resolver 后面跟多个DNS服务器时,一定要保证这些DNS服务器都是有效的,因为这种是负载均衡模式的,当DNS记录失效了(超过valid时间),首先由第一个DNS服务器(114.114.114.114)去解析,下一次继续失效时由第二个DNS服务器(223.5.5.5)去解析,亲自测试的,如有任何一个DNS服务器是坏的,那么这一次的解析会一直持续到resolver_timeout ,然后解析失败,且日志报错解析不了域名,通过页面抛出502错误。
第二种解决方法——最佳解决方案是升级到tengine 2.1.2,淘宝出品的东西,已经自带了解决方案。
Tengine的模块ngx_http_upstream_dynamic_module,此模块提供了在运行时动态解析upstream中server域名的功能。
upstream backend {
dynamic_resolve fallback=stale fail_timeout=30s;
server a.com;
server b.com;
}
server {
…
location / {
proxy_pass http://backend;
}
}
关于Nginx反向代理DDNS的DNS缓存问题相关推荐
- 通过nginx反向代理配置,及缓存功能配置,加快CDN服务器各个节点的访问速度
前言 若网站数据中心在国内,怎样才能加快海外访问速度呢?那就需要搭建一台CDN服务器,在海外机房,通过nginx反向代理的方式读取国内数据中心的数据,并且进行缓存.CDN服务器,及nginx反向代理配 ...
- Nginx反向代理DNS缓存问题
Nginx反向代理DNS缓存问题 背景 内网环境通过Nginx反向代理访问外网,Nginx配置完成,启动后的一段时间内接口访问正常,一段时间之后,访问拒绝../nginx -s reload 重新加载 ...
- nginx反向代理指定dns
项目中有一个站点一直采用nginx反向代理将请求转发请求到源站的对应域名下,之前在第一次配置的时候,配置文件写法如下: location / {proxy_set_header Host xxx.ab ...
- nginx 反向代理,动静态请求分离,proxy_cache缓存及缓存清除
一,nginx反向代理配置 #tomcat 显然就是用户访问www.wolfdream.com(需要设置本地localhost,将www.wolfdream.com指向nginx所在IP)的时候(或将 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(1)
大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统 ...
- 部署nginx反向代理及缓存
第一, nginx 的介绍 1 nginx 从0.7.48 版本后凯斯,支持烈士squid的缓存功能.该缓存是把URL及相关组合当作key,然后用md5编码哈希后保存在硬盘上,因此nginx 支持 ...
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能. 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测) ...
- nginx反向代理缓存服务器构建
博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 代理服务可简单的分为正向代理和反向代理: ...
- Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向
原文发表于cu:2016-08-25 参考文档: Nginx 反向代理.负载均衡.页面缓存.URL重写等:http://freeloda.blog.51cto.com/2033581/1288553 ...
最新文章
- linux文件和目录管理指令,Linux 命令(文件和目录管理 - cat)
- 栈和排序(贪心+思维)
- hibernate注解实体类(Emp.java)
- Cisco——DHCPv6小实验
- 实际开发中的问题积累【积累】
- Linux操作系统中readelf命令常见用法
- android自定义软键盘
- 心电信号频谱图低通Matlab,心电信号处理分析.ppt
- 图像增广——图片旋转任意角度(python实现)
- 知网查重原理以及降重举例
- python累乘怎么写_怎么编写Python关于累乘的程序?
- NS-miracle安装
- 关于pc浏览器浏览外网出现ERR_EMPTY_RESPONSE的问题
- EXCEL按照文字颜色统计数量
- vim配置set nu
- java 导出excel带多种颜色
- 【Python作业】对股票数据分析处理
- 大创项目(记录自己的教训)
- php商城手机端省市显示,jQuery仿手机京东商城收货地址城市选择
- android照片美颜项目_照片美颜p图编辑app下载