博主我常年在路由器的OpenWRT系统上以crontab方式跑ArDNSPod:https://github.com/anrip/ArDNSPodl来实现DNSPod上解析域名的DDNS功能,但是今天突然发现在出口IP变化以后,DDNS域名没有像往常一样正常更新(以往反应都是很快的),检查了下也不是以前出现的又被ISP变回内网IP导致的,于是ssh登上路由器的局域网IP,手动执行了下crontab里sh的命令,发现提示这个:

于是vi ddnspod.sh,找到使用wget发送DNSPod API请求的那行:

把–quiet去掉,再次执行脚本,提示:

可以清楚的看到是wget在建立ssl连接时出错了,查了下错误信息,发现是TLS版本的问题,于是又回DNSPod上查,找到了这个:DNSPod将对全站SSL证书进行升级 ,原来是DNSPod进行了SSL升级,明确指出“不再支持TLS v1.1、TLS v1.0等旧版本协议”,看来就是这个问题了!

随后又再查看wget的一些资料,找到了这个:https://unix.stackexchange.com/questions/237778/wget-tls-1-2-error,看来只要wget版本在1.16.1以上,就可以支持TLS v1.2,赶紧看了下路由器上的wget版本:

看来版本刚好符合要求,于是再次vi ddnspod.sh,修改wget调用那行,加入–secure-protocol=TLSv1_2,再次执行,结果如下:

可以到200成功的信息,上DNSPod控制台确认了下,解析A记录也确实更新了,再把sh里wget调用的–quiet加回来,一切恢复往常:

 

发表评论