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

纵使有花兼明月何堪无酒亦无人 发布于 2015/06/22 11:42
阅读 1K+
收藏 1

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

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

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

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


谢谢

加载中
0
zigzagroad
zigzagroad
不让做外网访问内网,那就反过来:内网访问指定外网的指定服务。
zigzagroad
zigzagroad
能连外网,解决办法就多了。相当于服务器端和客户端反过来做就可以了:内网是客户端,外网是服务器端。
纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人
就是想这样做,不知道有现成的么,有个花生壳,可以将内网服务外网话
0
我吃烤地瓜
我吃烤地瓜

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

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

纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人
只允许从内往外。我想的是做个长连接或者tcp连接,外网有查询指令,推送给内网,
我吃烤地瓜
我吃烤地瓜
@纵使有花兼明月何堪无酒亦无人 这也不行那也不行你的客户想闹哪样 ?难不成要写个协议 ?
纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人
从外入内的端口都不可以
我吃烤地瓜
我吃烤地瓜
@纵使有花兼明月何堪无酒亦无人 80不行的话就建个81端口。反正不管你怎么弄 既然要给外网访问的话,总要给个端口吧。
纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人
服务端口一个都不可以。只可以主动连接在外网
0
jdluojing
jdluojing

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


纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人
非常感谢!已经有解决办法了
0
Feng_Yu
Feng_Yu
看我的博客,有一个反向隧道(tunnel),用ssh实现的,ssh还自带加密。花生壳用的就是反向隧道的原理实现外网访问内网。当然并不是只有ssh才能实现反向隧道,比如socat这些也可以,只要你了解了相关的原理,你可以使用别的更专业的软件实现这个需求。建议google找找别人的解决方案
0
纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人

引用来自“Feng_Yu”的评论

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