THS动态域名解析

本文详细解释了如何在Nginx的THS中使用动态域名解析,包括通过resolver指令配置DNS服务器、在location和upstream中处理动态域名以及通过restful接口获取解析统计。还介绍了IPv6的处理和使用resolver指令的重要性。
摘要由CSDN通过智能技术生成

动态域名解析说明

参考如下配置

server {
	location / {
		proxy_pass https://www.baidu.com;
	}
}

当不使用动态域名解析时,THS只在启动的时候调用gethostbyname函数对www.baidu.com进行解析,在运行中www.baidu.com 域名和ip解析发生变化后,THS无法感知到,要想THS拿到最新映射只能重启THS。
gethostbyname 是可以解析 /etc/hosts 里面的映射关系的。为了在THS运行过程中也能解析域名,需要使用域名解析指令 resolver

resolver 指令说明

resolver address … [valid=time] [ipv4=on|off] [ipv6=on|off] [status_zone=zone];
address 为域名解析服务器地址,如114.114.114.114,8.8.8.8
ipv6 是否解析ipv6地址,建议关闭,较多的项目不支持ipv6。
status_zone 存储解析统计的zone,配置后可通过restful接口拿到解析统计指标。【6.0.1.x支持】

配置示例

步骤1: 设置DNS解析配置

http {
    resolver 114.114.114.114 valid=10s ipv6=off status_zone=test_dnszone;
}

步骤2:配置解析

情况1:location中解析域名(所有版本均支持)

正向代理
location / {
	proxy_pass $scheme://$host$request_uri;
}

$host 根据要请求的域名做代理,THS启动时是不知道有哪些域名的,所以需要使用resolver指令来做动态解析。

反向代理

如业务中的支付接口可能会代理微信,而微信也是域名也是变化的,请注意set $weixinapi api.weixin.qq.com;

set $weixinapi api.weixin.qq.com;
location /pay {
	proxy_pass https://$weixinapi;
}

情况2 upstream中配置域名解析(601x开始支持)

在location中配置域名解析会舍弃主动健康检查的功能,也不能使用后端长连接的功能,所以某些情况在upstream中配置域名解析较好,并且节能通过监控restful接口看见upstream中域名的实时变化。

http {
	resolver 114.114.114.114 valid=10s ipv6=off status_zone=test_dnszone;
	
	upstream backend {
		zone backend_zone 1m;
		server api.weixin.qq.com:443 resolve;
	}
	
	server {
		listen 8080;
		location /pay {
			proxy_pass https://backend
		}	
	}
}

控制台配置

restuful输出统计指标

统计

通过监控接口获得指标:
curl http://ip:49151/thsapi/resolvers/

{
"queries": {
"name":243,
"srv":2,
"addr":0
},
"responses": {
"success":342,
"timedout":1,
"format_error":0,
"server_failure":1,
"not_found":1,
"unimplemented":0,
"refused":1,
"other":0
}
}

控制台统计指标
DNS机械监控指标

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值