20 lines
1.8 KiB
Markdown
20 lines
1.8 KiB
Markdown
# 内外网分离方案
|
||
## 一、实现原理
|
||
外网部署TCP服务,内网部署TCP客户端。内网先连接外网的TCP服务,然后保持长连接,外网部署代理的Web应用有数据过来通过TCP服务器主推给内网TCP客户端,TCP客户端将数据转发给内网的应用(默认:Web应用,可自定义处理机制)进行处理,处理完成后将结果逐级返回。
|
||
## 二、程序组成
|
||
### 1、TCP服务
|
||
TCP服务采用开源框架SuperSocket开发;主要处理订阅、请求、响应及心跳包数据;采用log4net记录运行日志;部署方式采用windows服务方式部署。
|
||
### 2、TCP客户端
|
||
TCP客户端采用开源框架SuperSocket.ClientEngine;主要功能包括:长连接TCP服务器,断开重连(通过心跳包探测是否断开),数据处理,数据反馈;并可以通过实现IDataHandler接口处理自定义数据处理方式;采用log4net记录运行日志;部署方式采用windows服务方式部署。
|
||
### 3、转发SDK
|
||
用于网外代理用的Web应用使用的SDK;主要用于连接TCP服务并且转发客户端提交的数据,采用程序集的方式引用配置相应目标地址及端口、AppID、AppSecret、AppKey后即可使用,用户无需再开发程序连接TCP服务器。
|
||
## 三、安全性
|
||
通过AppID,AppSecret方式认证客户端身份,并且再客户端设有用于生成MD5校验和的Key防止伪造信息,并采用时间戳限制数据的有效期。
|
||
网外Web服务器只起到代理作用,核心程序及数据库均部署在内网大大提高安全性。
|
||
## 四、运行环境
|
||
Windows、framework4.5及以上
|
||
## 五、转发机制
|
||

|
||
## 六、工作流程
|
||

|