阿里云动态域名解析教程_阿里云域名解析api

阿里云动态域名解析教程_阿里云域名解析api阿里云设置DDNS(动态域名解析)搭建内网服务器时,因为运营商分配的公网ip地址是动态的。在一段时间后或者重启路光猫后,会导致公网ip变化,此时阿里云设置DNS将失效。因此需要进行动态域名解析。阿里云没有像花生壳一样的内置到路由器的动态域名解析服务。所以,我们没办法在路由器段进行动态域名解析设置。但是,阿里云提供了DNS的API,各个语言的API都有,因此我们可以在服务器端来实现这个动态域名解析服务。下面讲一下我实现的整个过程,我是通过go语言完成的。如下。1.设置DNS域名解析服务进入阿里云的_ddns

阿里云 腾讯云 设置DDNS(动态域名解析)

搭建内网服务器时,因为运营商分配的公网ip地址是动态的。在一段时间后或者重启路光猫后,会导致公网ip变化,此时阿里云设置DNS将失效。因此需要进行动态域名解析。

阿里云没有像花生壳一样的内置到路由器的动态域名解析服务。所以,我们没办法在路由器段进行动态域名解析设置。但是,阿里云提供了DNS的API,各个语言的API都有,因此我们可以在服务器端来实现这个动态域名解析服务。

下面讲一下我实现的整个过程,我是通过go语言完成的。如下。

1. 设置DNS域名解析服务

进入阿里云的DNS服务页面, 设置域名解析。这个页面,相当于是手动操作,来实现域名解析设置。这里我们根据阿里云的教程来添加解析记录。这里我设置不是真实的服务器外网IP,真实的是211,这里我设置的212,以便后面测试DDNS是否生效。

在这里插入图片描述

2. 下载SDK

然后我们打开阿里云的帮助文档,找到 API文档。文档里面有详细的说明和SDK下载链接,找到对应的go链接下载,并安装到系统。因为里面没有go语言的SDK,不过还是让我找到了,他的教程估计是很久没有更新了。
go语言SDK,在下面的界面可以找到。

在这里插入图片描述

我是通过proxychains go get github.com/aliyun/alibaba-cloud-sdk-go进行安装的。

因为我们已经添加过解析记录了,所以这里要完成的代码仅仅是修改解析记录。如果是没有添加解析记录,也可以通过go语言的API来完成解析记录的添加。我最开始是测试的添加解析记录API,直接复制代码,然后运行就行了。

这里需要accessKeyIdaccesssKeySecret。这个可以通过点击右上角的头像进行获取。

在这里插入图片描述

然后recordID通过这个 链接进行获取。这个教程比较老了,现在阿里云将这个参数进行更新了,不过方法还是一样的,在updateRrValue.json这个http请求的某个参数里面能找到RecordID。

找到 修改解析记录的教程。这里点击调试按钮,右边的API调用窗口就能出来,可以进行生成代码和调试。

在这里插入图片描述
在这里插入图片描述
生成的代码复制到我们的工程,然后在代码里面填入accessKeyIdaccesssKeySecret,编译运行,只要没有报错,仅仅是一行返回。并在 设置域名解析能看到我们的新增的解析记录,说明整个环境搭建成功了。

3. 设置DDNS

有了上面的这段代码,实现DDNS就很简单了。只需要拿到我们服务器端的公网IP,对阿里云的DNS解析解析记录进行修改就可以了。最后,写成一个服务,定时获取wanip,如果变化了,就对我们DNS解析记录进行修改即可。
这里贴出我的代码。代码里面没有域名参数项,我猜测是通过RecordID来和我们的解析记录进行对应的,这样队能对应到我们解析记录的域名了。

ppackage main
import (
"bytes"
"fmt"
"os/exec"
"strings"
"time"
"github.com/aliyun/alibaba-cloud-sdk-go/services/alidns"
log "github.com/sirupsen/logrus"
)
/* 在这里添加自己的访问秘钥 */
var accessKeyId string = ""
var accessSecret string = ""
var recordId string = ""
func main() { 

go SetDDNSService()
for { 

time.Sleep(time.Duration(60) * time.Second)
}
}
func SetDDNSService() { 

var WanIP string
var RecordIP string = GetAliRecordIP() // 服务器启动时,从阿里云获取一次
for { 

WanIP = GetWanIPStr()
log.Info("Get WAN IP: ", WanIP)
if WanIP != "" && WanIP != RecordIP { 

log.Info("Wan IP changed. Will change the record IP.")
err := SetDDNS(WanIP)
if err == nil { 

RecordIP = WanIP
}
} else { 

//log.Info("Wan IP hold.")
}
time.Sleep(time.Duration(60) * time.Second)
}
}
func SetDDNS(wanIP string) (err error) { 

client, err := alidns.NewClientWithAccessKey("cn-hangzhou", accessKeyId, accessSecret)
request := alidns.CreateUpdateDomainRecordRequest()
request.Scheme = "https"
request.RecordId = recordId
request.RR = "@"
request.Type = "A"
request.Value = wanIP //GetWanIPStr() //"118.123.37.212"
request.Lang = "en"
request.UserClientIp = wanIP // "118.123.37.211"
request.TTL = "600"
request.Priority = "1"
request.Line = "default"
response, err := client.UpdateDomainRecord(request)
if err != nil { 

fmt.Print(err.Error(), response)
return err
}
fmt.Printf("response is %#v\n", response)
return nil
}
func GetAliRecordIP() (recordIP string) { 

client, err := alidns.NewClientWithAccessKey("cn-hangzhou", accessKeyId, accessSecret)
request := alidns.CreateDescribeDomainRecordInfoRequest()
request.Scheme = "https"
request.RecordId = recordId
request.Lang = "en"
request.UserClientIp = "118.123.37.211"
response, err := client.DescribeDomainRecordInfo(request)
if err != nil { 

fmt.Print(err.Error())
return ""
}
log.Info("Record IP: ", response.Value)
return response.Value
}
func GetWanIPStr() (wanip string) { 

cmd := exec.Command("wsl", "curl", "ident.me")
cmd.Stdin = strings.NewReader("some input")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil { 

log.Error("error: ", err)
return ""
}
//fmt.Printf("in all caps: %q\n", out.String())
wanip = out.String()
if wanip != "" { 

//log.Info("Get WAN IP ok: ", wanip)
} else { 

log.Warn("Get WAN IP failed")
}
return wanip
}

希望我今天分享的这篇文章可以帮到您。

运行结果:

在这里插入图片描述

上面圈出来的一行,即是官方生成的这段代码运行成功后的反馈。只要没有报错,并且有这行代码, 设置域名解析上能查看到我们解析记录已经修改成功了,118.123.37.212变成了118.123.37.211说明我们的工作完成了。

在这里插入图片描述

4. 腾讯服务器域名解析

将上面的程序跑在腾讯云服务器上,即可将阿里云的域名解析为腾讯云服务器对应的IP地址。
和阿里域名解析一样,找到API文档,DNSPod相关的内容,也是有SDK和API的使用说明及在线调试,路径为:文档中心 > API 中心 > DNSPod > 记录相关接口 > 修改记录
https://cloud.tencent.com/document/api/1427/56157
在这里插入图片描述
修改解析类型可以支持IPV6地址的解析。
可以直接使用DDNS-GO,里面继承了各个域名服务商的解析服务: https://github.com/jeessy2/ddns-go

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处: https://ispacesoft.com/191830.html

(0)
思创斯忠实用户-ss思创斯忠实用户-ss
0 0

相关推荐

  • 桶形移位器_桶形移位器verilog

    桶形移位器_桶形移位器verilog

    桶形移位器_桶形移位器verilog桶型移位电路_桶形移位器

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年2月29日
  • HPPC测试数据_hp定性检测

    HPPC测试数据_hp定性检测

    HPPC测试数据_hp定性检测文章浏览阅读3.7k次。测试电池容量:37Ah整体工况图(老化电池)数据截图测试电池容量:37Ah整体工况图(新电池)部分数据截图_电池hppc数据

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年11月10日
  • jquery拖拽布局插件_js如何实现拖拽和上下移动[通俗易懂]

    jquery拖拽布局插件_js如何实现拖拽和上下移动[通俗易懂]

    jquery拖拽布局插件_js如何实现拖拽和上下移动[通俗易懂]展示如何使 HTML 元素可拖动,在本例中,我们将创建三个 DIV 元素然后启用他们的拖动和放置。

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年4月12日
  • 工欲利其器必先利其器啥意思_龙洲利工具

    工欲利其器必先利其器啥意思_龙洲利工具

    工欲利其器必先利其器啥意思_龙洲利工具SourceInsight是当前世界上最好的程序编辑器之一,几乎支持所有的语言,拥有丰富且便捷的功能,快捷的源码导航能力,实时显示的上下文信息,独立的符号数据库等特点,使得它在世界范围内广受程序员和IT公司的欢迎。

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年6月24日
  • 购物车vue实现_加入购物车是什么意思[通俗易懂] Vue

    购物车vue实现_加入购物车是什么意思[通俗易懂]

    购物车vue实现_加入购物车是什么意思[通俗易懂]点击加入购物车,会弹出一个紫色小球掉入购物车htmlheadmetacharset=”utf-8″metaname=”viewport”content=”width=device-width,initial-scale=1.0″metahttp-equiv=”X-UA-Compatible”…

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年10月10日
  • 一键修复所有dll缺失_为什么无法定位程序输入点

    一键修复所有dll缺失_为什么无法定位程序输入点

    一键修复所有dll缺失_为什么无法定位程序输入点​在使用笔记本电脑的时候,如果操作不小心误删了某些文件,可能会导致无法定位程序,打开程序时会被提示无法定位程序输入点于动态链接库怎么办?今天,小编就把无法定位程序输入点于动态链接库的解决方法分享给大家。更多一键重装系统教程可参考小白系统网解决方法:1、首先查看提示框内缺少的是什么dll文件。2、例如是Qt5gui.dll文件丢失,先下载该文件。3、下载之后直接双击安装,然后重启电脑。4、再次执行之前的操作,已经不再提示“无法定位程序输入点于XXX动态链接库”,因为已经把丢失的文件安装到电脑了。总结:以上就是

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年5月26日
  • CDN技术介绍_cdn服务

    CDN技术介绍_cdn服务

    CDN技术介绍_cdn服务随着Internet技术和多媒体技术的不断发展,图像、音频、视频服务所占的比重越来越大,加之网民数量激增,网络访问距离过长,导致网络负载迅速增加,从而使用户的访问质量受到严重影响。传统的缓存技术对交互性强和比较大的文件并不支持,因此迫切需要一种新的传输结构来解决这一问题。此外,当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地区来说,访问质量不良更是一个急待解决的问题。而应运而生的CDN(ContentDeliveryNetwork,内容分发网络)技术正是针对带宽、响应速度

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年6月6日
  • ABS融资模式_abs资产支持证券

    ABS融资模式_abs资产支持证券

    ABS融资模式_abs资产支持证券所谓ABS,是英文“AssetBackedSecuritization”的缩写,它是以项目所属的资产为支撑的证券化融资方式,即以项目所拥有的资产为基础,以项目资产可以带来的预期收益为保证,通过在资本市场发行债券来募集资金的一种项目融资方式。ABS资产证券化是国际资本市场上流行的一种项目融资方式,已在许多国家的大型项目中采用。模式特点(1)ABS融资模式的最大优势是通过在国际市场…_融资abs模式

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年9月24日

发表回复

您的电子邮箱地址不会被公开。

思创斯知道您想要的工具

  • pycharm 5.0.3安装教程激活码_pycharm哪个版本好用

    pycharm 5.0.3安装教程激活码_pycharm哪个版本好用

    2024年6月22日

  • 一个简单的网络爬虫入门python(包括开发环境搭建和pycharm激活)

    一个简单的网络爬虫入门python(包括开发环境搭建和pycharm激活)

    2024年6月3日

联系我们

关注“Java架构师必看”公众号

回复4,添加站长微信。

附言:ispacesoft.com网而来。

关注微信

天下网标王麻城市网站做优化怎么样太原企业网站优化推广有用吗梁子湖网站做优化多少钱高碑店网站优化价格网站排名优化是怎么做的惠州可信的免费网站优化阜康SEO优化网站整站排名推广湖南教育网站优化渭南网站优化天长网站优化排名网站优化首页不要放视频网站优化知识妇科医院网站优化公司胶州网站建设优化推广性价比高的百度网站优化常州优化网站德州网站优化经验电商网站流量排名优化龙口个性化网站优化ps切片网站的优化中山外贸网站优化方式安义县网站推广seo优化山东哪里有网站优化开户怎么优化不发文的网站苏州网站排名优化多少钱小型网站优化老网站如何优化化工行业网站优化传播高负载类网站优化丽水高端网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化