Nginx DNS resolver配置实例

本文介绍了Nginx中DNS解析的配置方法,包括如何设置resolver以提高域名解析成功率及缓存时间,并提供了使用dnsmasq搭建本地DNS服务器的方法以进一步提升解析效率。
Nginx DNS resolver配置实例 博客分类: nginx

nginx 通过 proxy_pass 和 upstream server 通信的时候需要手动指定 resolver。某些时候 DNS 解析失败就会出现这个错误:

复制代码代码如下:

domain.com could not be resolved.


可以指定多个 DNS 并重置域名 TTL 延长 nginx 解析缓存来保障解析成功率:

复制代码代码如下:

resolver 223.5.5.5 223.6.6.6 1.2.4.8 114.114.114.114 valid=3600s;


如果还有解析错误,可以用 dnsmasq 在本地自建 DNS,顺带还有加速解析的好处:

复制代码代码如下:

#/etc/dnsmasq.conf
domain-needed
bogus-priv
cache-size=51200
listen-address=127.0.0.1

 

#server=223.5.5.5
resolv-file=/etc/resolv.conf


另外需要注意的是 proxy_pass 并不是每次请求都会进行解析,如果 upstream IP 频繁变动,需要强制解析:

复制代码代码如下:

# via  http://forum.nginx.org/read.php?2,215830,215832#msg-215832
resolver 127.0.0.1;
set $backend "foo.example.com";
proxy_pass  http://$backend;
 
http://www.jb51.net/article/60522.htm
https://serverfault.com/questions/240476/how-to-force-nginx-to-resolve-dns-of-a-dynamic-hostname-everytime-when-doing-p

转载于:https://my.oschina.net/xiaominmin/blog/1597234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值