如果宽带有公网IP,那么路由器做一个端口映射就能实现任何地方访问路由器下服务。但是一般情况下,宽带的公网IP都是会变动的,利用花生壳也是能实现动态域名解析的,但是TTL高达60s。使用DNSPod的动态解析API可以低至10s,而且还免费。
使用之前,请先确认一下宽带NAT类型,是否是公网IP,这个不是今天的重点,所以请自行查询。值得注意的是,很多用户其实是公网IP,不过路由器上级是光猫,需要在运营商处把光猫改成桥接模式,再由路由器进行PPPoE拨号即可。
本部署方法仅供测试,上线环境请自行根据demo酌情修改
- 在DNSPod添加域名和解析记录
本接口为简易版,故只能进行动态更新IP,不涉及添加域名和解析记录的接口,这两个操作需要提前在页控制台完成
- 更改库文件中配置项
进入控制台密钥管理,添加一个新密钥,记录下ID和Token,并修改DNSPod.php
文件Token的值,实际Token格式为ID,Token
(英文逗号隔开),不是只有控制台获取的Token!!!
修改DNSPod.php
文件Ua的值,格式:程序名/版本(邮箱)
,注意不能有空格,否则POST时会返回403
- 查看账户API请求频率限制(可跳过)
将文件传到Web服务器(Apache和Nginx均可),访问demo/user.php
,查看账户API请求频率限制(程序注释中有返回示例)
用户账号等级 => API限频(单位:次/小时)。
D_Free = 3000,
D_Plus = 5000,
D_Extra = 40000,
D_Expert = 50000,
D_Ultra = 99999,
DP_Free = 3600,
DP_Plus = 50000,
DP_Extra = 40000,
DP_Ultra = 99999,
DP_Local = 40000,
- 获得域名ID
访问demo/domain.php
,查看账户的域名列表,记录下对应域名的域名ID(程序注释中有返回示例)
- 获得记录ID
修改demo/record.php
中第五行数字为上一步获取到的域名ID,再访问可得到所有的解析记录,记下对应记录的记录ID(程序注释中有返回示例)
- 配置并运行DDNS
修改demo/ddns.php
中的域名ID和记录ID,每次访问此文件,会更新解析记录为来访者IP
完成~