Files
范露尧 319b6badea 文档
2022-10-17 15:25:01 +08:00

20 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 内外网分离方案
## 一、实现原理
外网部署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服务器。
## 三、安全性
通过AppIDAppSecret方式认证客户端身份并且再客户端设有用于生成MD5校验和的Key防止伪造信息并采用时间戳限制数据的有效期。
网外Web服务器只起到代理作用核心程序及数据库均部署在内网大大提高安全性。
## 四、运行环境
Windows、framework4.5及以上
## 五、转发机制
![](./document/%E5%86%85%E5%A4%96%E7%BD%91%E5%88%86%E7%A6%BB%E6%96%B9%E6%A1%88-1.png)
## 六、工作流程
![](./document/%E5%86%85%E5%A4%96%E7%BD%91%E5%88%86%E7%A6%BB%E6%96%B9%E6%A1%88-2.png)