1.租用云服务器(成本太高)
2.手动搭建一台
搭建一台服务器无非就是想通过外网可以随时访问到服务器,通常第一步我们得打通网络环境,如:
1.直接访问(固定公网ip)
2.代理访问(vpn、frp、某某123、某某壳、等)
根据使用场景以及成本选择不同方案,代理访问速度往往没有直接访问流畅,尤其有些第三方平台有带宽限制
本文介绍如何使用普通宽带与家用电脑搭建一台服务器,主要解决以下问题:
1.家用网络端口映射
2.固定ip地址
这个只是动态分配的ip,不同于固定ip,默认情况运营商可能分配的私有ip,找客服改一下就行了
现在运营商的光猫都自带拨号跟路由功能,通常情况装机人员使用的是路由模式,装机人员会帮你配置宽带拨号信息在光猫里,连上lan口就能上网,如果说给的光猫能进行有效的端口映射也无妨,不能则需要改成桥接模式,然后自己在光猫下级用可端口映射的路由器设置拨号,关键点就是要端口能映射出去
由于普通宽带分配的公网ip是动态的,重启路由或者过一段时间就会重新分配一个ip,所以要保证域名解析的ip是当前分配的ip;在阿里云注册个域名,便宜的1年几块钱不等
本地外网ip同步到阿里云域名解析,达到动态解析ip地址目的
阿里云有相关sdk管理域名解析,分2种:
一种以http规范的API文档
一种以java语言封装的jar包
主要代码
val launch = GlobalScope.launch { delay(1000) while (true) { println("==============[${getNowTime()}]==============") var ip: String? = null println("来自[${ddnsProperties.config.ipUrl}]") for (i in 1..3) { if (!StringUtils.isEmpty(ip)) break println("获取IP地址:第${i}次") ip = ipService.getLocalOutIp() } if (StringUtils.isEmpty(ip)) throw Exception("无法获取IP地址") ddnsProperties.domain.forEach { domainProperties -> val domain = domainProperties.value val records = domainRecordsService.getDomainRecordsByType(domain.domainName, "A") .associateBy { it.rR } domain.rrs.forEach { rr -> println("同步解析记录-->$rr.${domain.domainName}") val record = records[rr] if (record == null) { val addRecordDTO = AddRecordDTO().apply { domainName = domain.domainName type = "A" rR = rr value = ip } println("添加解析记录-->${addRecordDTO.toString()}") domainRecordsService.addDomainRecord(addRecordDTO) } else { if (record.value == ip) { println("IP地址无需变更") } else { val updateRecordDTO = UpdateRecordDTO().apply { recordId = record.recordId type = record.type rR = record.rR value = ip } println("更新解析记录-->${updateRecordDTO.toString()}") domainRecordsService.updateDomainRecord(updateRecordDTO) } } } } println("=================================================") delay(300000) } }
application.yml
top: laoshuzi: ddns: config: regionId: cn-hangzhou accessKeyId: <accessKeyId> accessKeySecret: <accessKeySecret> IpUrl: http://ip-api.com/json domain: laoshuzi: domainName: <domainName> rrs: - <rr>
原文链接:https://blog.csdn.net/qq_17680723/article/details/91574933
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END