都来看啊!如何查询内网数据并发送到外网

都来看啊!如何查询内网数据并发送到外网

眉黛浅 发布于 2021-11-25 字数 680 浏览 836 回复 14

目前需求是这样的。内网有个数据库,客户不让暴漏端口到外网。在该内网放一台电脑,可以连接数据库也可以连接外网,但是仍然不可以直接暴漏端口给外网。

目前我是这样想的,在内网做的那台电脑,做个软件(下面叫做A)连接数据库(下面叫DB),并和外网的一个websocket服务器(WS)进行连接,如果外网有数据需要查询,那么就直接告诉A,获取到WS给的数据进行分析,并查询数据库,发送给WS。   

外网用户一般都是用的web服务访问并获取数据。所以现在就存在两种方法,一种是通过WS获取到数据转存给外网web服务器。或者就是外网用户直接访问WS服务器。

有没有更好的方法,比如直接做代理将内网的A软件做成web服务,通过一种方法将其代理转发到外网。

谢谢

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

为你鎻心 2021-12-01 14 楼

引用来自“Feng_Yu”的评论

看我的博客,有一个反向隧道(tunnel),用ssh实现的,ssh还自带加密。花生壳用的就是反向隧道的原理实现外网访问内网。当然并不是只有ssh才能实现反向隧道,比如socat这些也可以,只要你了解了相关的原理,你可以使用别的更专业的软件实现这个需求。建议google找找别人的解决方案

伴我心暖 2021-12-01 13 楼

三克油

悸初 2021-12-01 12 楼

看我的博客,有一个反向隧道(tunnel),用ssh实现的,ssh还自带加密。花生壳用的就是反向隧道的原理实现外网访问内网。当然并不是只有ssh才能实现反向隧道,比如socat这些也可以,只要你了解了相关的原理,你可以使用别的更专业的软件实现这个需求。建议google找找别人的解决方案

毁梦 2021-12-01 11 楼

非常感谢!已经有解决办法了

断爱 2021-12-01 10 楼

你将需要对外提供的查询封装成远程调用的接口QueryService,然后在外网可以访问的web服务器上提供http形式的查询方式,请求过来的时候,你web应用再调用前面提供QueryService接口就行了。至于远程接口使用的端口自己定就是了,web服务只是知道你的服务接口的功能(api),并不知道服务的具体实现是走数据库还是走别的方式,内部实现随时都可以切换。

平生欢 2021-12-01 9 楼

服务端口一个都不可以。只可以主动连接在外网

残花月 2021-12-01 8 楼

@纵使有花兼明月何堪无酒亦无人 80不行的话就建个81端口。反正不管你怎么弄 既然要给外网访问的话,总要给个端口吧。

绝影如岚 2021-12-01 7 楼

从外入内的端口都不可以

本宫微胖 2021-12-01 6 楼

@纵使有花兼明月何堪无酒亦无人 这也不行那也不行你的客户想闹哪样 ?难不成要写个协议 ?

网名女生简单气质 2021-12-01 5 楼

只允许从内往外。我想的是做个长连接或者tcp连接,外网有查询指令,推送给内网,

无人问我粥可暖 2021-12-01 4 楼

用WEB方式管理数据库 比如像phpmyadmin一样 然后把这台web服务器80端口给外网即可。

外网调用数据库都走web服务器。同时把web服务起的3306端口封掉。

裸钻 2021-12-01 3 楼

就是想这样做,不知道有现成的么,有个花生壳,可以将内网服务外网话

顾挽 2021-11-30 2 楼

能连外网,解决办法就多了。相当于服务器端和客户端反过来做就可以了:内网是客户端,外网是服务器端。

清欢 2021-11-30 1 楼

不让做外网访问内网,那就反过来:内网访问指定外网的指定服务。