Namecheap&lucky DDNS设置
1.使用Lucky进行Namecheap域名的解析
最近在搞飞牛os,自己也有公网ipv4和空闲的Namecheap域名,原先使用的是ddns-go,只是将动态公网ipv4解析到域名,就想实现通过域名访问飞牛os和其他服务。
后来了解到可以通过反向代理工具如Nginx,Apache…去实现我想要的功能:通过访问域名的泛域名访问本地服务器的不同端口的服务。最终选择了Lucky这个工具。
1.1 实现过程
安装lucky进入管理界面后,打开动态域名->添加任务,发现DNS服务商没有Namecheap,只能通过自定义callback的方式实现,于是开始查找资料,在Namecheap的官网没有发现相关的开发文档,百度也没搜索到相关的配置教程。
突然想起来DDNS-GO内置了Namecheap的ddns更新,遂打开DDNS-GO的github链接,因为是开源的,开源直接找到Namecheap的相关配置,因为本人不会go语言,只会c语言,便直接问AI了(AI真好用)。
Lucky的自定义callback需要接口地址、请求方法、请求头(非必须)、接口调用成功字符串检测这几项内容。
根据DDNS-GO的配置,得到
接口地址:https://dynamicdns.park-your-domain.com/update?domain=#{domain}&password=#{password}&ip=#{ip}
。
其中,Lucky不支持
#{password}
变量,需要手动将它替换为自己的Namecheap动态域名密码,如你的密码是xxx123,那么你的接口地址即为https://dynamicdns.park-your-domain.com/update?domain=#{domain}&password=xxx123&ip=#{ip}
。
请求方法:GET
。
请求头:空,可以不填。
接口调用成功包含的字符串:0
。
我的配置图:
1.2 Namecheap的动态域名密码
第一步:
第二步:
第三步:
第四步:
将获取到的密码替换上面的xxx123,就是你的接口地址。
2.域名直接访问:lucky监听80端口
正在研究。。。
lucky管理界面手动修改为监听80端口后,提示Permission denied
,无权限。
参考该文章nginx 80端口启动的方法一:手动为lucky增加超级权限。
2.1 飞牛os为lucky添加权限
具体步骤为:
- 打开飞牛os的ssh功能,使用MobaXterm连接飞牛os。
sudo -i
提权,为下一步做准备。- lucky的本体在
/vol1/@appcenter/Lucky/bin/
路径下,根据前面提到的方法一,按图片所示操作即可实现提权 - 完成后需要重启lucky,配置才能生效。
2.2 飞牛os 80端口被占用,手动修改端口
!!!注意!!!
!!!注意!!!
以下操作都没用,我在配置完后发现可以域名直接访问,以为是家庭宽带公网ipv4的80端口没封,后面通过
curl -v
测试发现走的是公网ipv6的80端口,ipv4的还是没通,应该是封掉了。。。 (下面的内容就随便看看吧,虽然没有什么意义了)
!!!注意!!!
完成上一步操作后,发现错误提示变为了[tcp][:80]Listen error:listen tcp :80: bind: address already in use
,80端口被其他服务占用,开始查找飞牛os修改端口的相关资料。。。
发现原先飞牛os的系统没有更新,更新后就可以设置飞牛os的http和https端口,将重定向80与443端口选项关闭,再更改lucky的监听端口为80,不再提示错误。
最终结果如下:
3.添加ssl证书
还未添加,鸽。。。