业务系统一般部署在内网,内网和公网之间一般是物理隔离或是防火墙隔离的,但有的时候也需要将内网网段的服务开放到公网上,用来进行调试、确认等临时工作。
公网访问内网,一般要具备两个条件(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
将内网服务开放(摆渡、代理)到公网
业务系统一般部署在内网,内网和公网之间一般是物理隔离或是防火墙隔离的,但有的时候也需要将内网网段的服务开放到公网上,用来进行调试、确认等临时工作。 &...
- 发表于 2019-10-10 11:00
- 阅读 ( 558 )
- 分类:网络文章
你可能感兴趣的文章
- Java 添加条码、二维码到PDF文档 133 浏览
- Java 在Excel中添加筛选器并执行筛选 90 浏览
- JAVA + VUE + 简洁UI:分离式软件平台形成之旅 264 浏览
- Java 设置Word中的表格自适应的3种方式 112 浏览
- LeaRun快速开发平台,.net/java项目开发工具简析 141 浏览
- JVM学习笔记之类装载器-ClassLoader 202 浏览
随机文章
- Java字符串(String)转成char[]数组,char数组转String 3955 浏览
- Java字符串(String)转成byte[]数组,byte数组转String 3399 浏览
- 结合源码浅析Struts2与Spring整合的原理 3295 浏览
- java对竖线|进行分割(split)操作 3667 浏览
- MySQL中查询、删除重复记录的方法大全 4211 浏览
相关问题
- java基础知识提问 1 回答
条评论
请先 登录 后评论
发送私信
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!