将内网服务开放(摆渡、代理)到公网_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 将内网服务开放(摆渡、代理)到公网

将内网服务开放(摆渡、代理)到公网

 2019/10/8 15:28:27  jonenine  程序员俱乐部  我要评论(0)
  • 摘要:业务系统一般部署在内网,内网和公网之间一般是物理隔离或是防火墙隔离的,但有的时候也需要将内网网段的服务开放到公网上,用来进行调试、确认等临时工作。公网访问内网,一般要具备两个条件(1)到运营商申请固定IP(2)通过路由器,代理服务器等将内网端口映射到固定IP上。这种方式成本较高,不适合小公司,小团队操作。有的时候公网资源有限。比如:还是因为成本限制,不可能在阿里云上租用大量的服务器;或者因为licence限制,也不可能将很多非开源中间件(比如oracle)部署在阿里云上。那么就需要出现一个工具
  • 标签:内网 代理 服务 开放

? ? ? 业务系统一般部署在内网,内网和公网之间一般是物理隔离或是防火墙隔离的,但有的时候也需要将内网网段的服务开放到公网上,用来进行调试、确认等临时工作。
????? 公网访问内网,一般要具备两个条件(1)到运营商申请固定IP (2)通过路由器,代理服务器等将内网端口映射到固定IP上。 这种方式成本较高,不适合小公司,小团队操作。
????? 有的时候公网资源有限。比如:还是因为成本限制,不可能在阿里云上租用大量的服务器;或者因为licence限制,也不可能将很多非开源中间件(比如oracle)部署在阿里云上。那么就需要出现一个工具,可以方便的将内网的资源开放到公网。(注意,这样做同样不要违反中间件版权涉及的法律约束)
????? 工具的实质就是将客户端请求从公网代理(反向摆渡)给内网的服务中,再将内网服务的响应返回到外网的客户端。

????? …想到便要做到…

????? 于是这样一款反向摆渡工具就诞生了。
????? (1) 内网摆渡程序需要登录到云端代理程序,保证安全性
????? (2) 云端代理程序按照内网请求动态监听端口
????? (3) 代理程序就一个可执行文件,拷贝到云端执行即可。内网摆渡是一个spring boot程序,配置极简。一共就两个进程,不依赖数据库及其他组件
????? (4) 一旦内网程序关闭web socket客户端,云端代理便会关闭socket监听。收放自如
????? (5) 云端程序采用golang编写,性能消耗极小(测试时性能消耗在1%左右),占内存也只占用几十M。租一个阿里的低配虚拟机可以同时将很多内网服务开放到公网。
????? (6) 这是个开源程序(而且是用java和go这两种低成本的语言编写),你可以改成任何你需要的样子,这才是最大的优点。
?????? 详情请看:
? ? ? https://github.com/jonenine/ferry

?

发表评论
用户名: 匿名