(坑) Caddy加Etcd,实现动态IP域名访问的三种方法

注意:这是我挖的坑,思考完成后填坑

正好两者都是用Golang实现的。

网上一般介绍自己如何搭建一个DNS服务器,比如使用CoreDNS+Etcd来实现动态IP域名。比如我的这篇文章,下载好程序,1分钟就把DNS建好了。

但我现在的环境是:有一个云服务器A,有一个动态IP的电信宽带,并建有私人服务器B。现在通过云服务器与B服务器代理,把B的服务放到一个二级域名上。例如本博客,它其实是搭建在B服务器上。

在云服务器A上使用的是Caddy,也用其它办法实现了动态IP的二级域名。但正经办法应该是使用Caddy的插件机制来实现。本着杀鸡不能用牛刀的出发点,又不应该搭coredns来实现。
另外,也可以使用Config API,通过web调用来实现修改。

在Github上也没找到一个简单实现的etcd插件,计划找时间实现一个,挖坑于此。


https://github.com/BTBurke/caddy-etcd 这个算找到的第一个,但它也不是为了我这样的目的产生的。

要实现的目标为:
当发现有指定关键词在配置文件中时,此域名对应的IP在etcd中进行查询。
例如:

u.scwy.net {
        header server "EaseServer"
        encode zstd gzip
        reverse_proxy ETCD
}

另外就是etcd服务程序的配置了

相关文章