作者:手机用户2602899031 | 来源:互联网 | 2023-09-24 20:46
今天有写过一个简单的基于nginx的stream代理dnsserver的服务,以下是集成coredns的一个demo同时也包含了consul以及使用coredns的rewrite以
今天有写过一个简单的基于nginx 的stream 代理dns server的服务,以下是集成coredns 的一个demo
同时也包含了consul 以及使用coredns 的rewrite 以及loadbalance 插件
环境准备
- 说明
为了估计consul dns 的地址,容器使用了固定ip
- nginx 配置
- coredns 配置
Corefile 文件
说明:
对于dalongrong.com 的dns 请求进行url 重写,将dns 请求重写consul 的service,同时修改answer ,对于dns 的查询全部转发到 consul dns server
集成使用
效果
![nginx 代理 coredns dns 服务 nginx 代理 coredns dns 服务](https://img1.php1.cn/3cd4a/24e5b/882/52a5fd6b17fac1ae.png)
说明
以上只是一个简单的学习使用,实际上我们如果我们集成了openresty,同时结合consul 的cname特性,可以方便的基于consul 的dns
功能进行动态反向代理,同时基于coredns 强大的plugin 能力,构建灵活的软件架构
参考资料
https://github.com/rongfengliang/nginx-coredns-consul-learning
https://coredns.io/plugins/
https://www.consul.io/api-docs/agent/service