页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

对比精简版,主要是多了协议代理客户端及服务端。

整个前后端的http请求过程如下

1、静态请求过程

1.1、在DMZ区部署Smartbi前端应用服务器。

...

1.3、Smartbi前端应用服务器把静态请求结果返回给到浏览器端。

2、动态请求过程

2.1、在 DMZ 部署EncryptProxy 的 Client客户端,接收由DMZ区的F5/Nginx 分发过来的Smartbi动态请求

...

2.3、EncryptProxy 的 Client客户端将收到的 Smartbi 动态 HTTP 请求,打包编码后发送到EncryptProxy 的Server服务端。

2.4、EncryptProxy 的Server 服务端将请求解包后,发送到 Smartbi 后端动态应用服务器。

2.5、Smartbi 后端动态服务器将动态请求执行完成后,返回给到 EncryptProxy 的Server服务端。

2.6、EncryptProxy 的server服务端将请求结果打包编码给到EncryptProxy 的Client客户端。

2.7、EncryptProxy 的Client 客户端将收到的结果解包后,将动态请求结果返回到浏览器端。

...

proxy.serverUrl配置EncryptProxy的server端的地址。

...

配置黑白名单(可选)

黑白名单规则,主要是为了解决项目在外网访问内网资源时的安全问题。

根据部署架构图,手机app等移动端设备在外网访问smartbi。内网环境用pc电脑端访问smartbi。

具体操作步骤:

下载 defenderConfig.json ,上传到客户端节点,跟application.properties 在同一层目录,文件名称不能修改。

Image Added

注意
title黑白名单规则说明

黑白名单规则,只对移动端生效。pc端建议只能在内网直接访问动态服务器节点。

只有在defenderConfig.json 白名单列表中的请求,并且该请求不在黑名单列表中时,才能通过client客户端转发到内网的server服务端。

在defenderConfig.json 黑名单中的请求都无法被转发到内网的server服务端。

不在defenderConfig.json 白名单中的请求,都不会被转发到内网的server服务端。

当前的白名单请求只配置了电子表格的移动端的请求。其他请求研发正在梳理中。

由于版本更新,请求可能新增或删减,需要项目上根据情况自行配置黑白名单。

修改黑白名单规则后,需要重启客户端才能生效。

启动客户端

nohup $JAVA_HOME/bin/java -jar  EncryptProxy-10.5.jar >>EncryptProxy-client.log 2>&1 &

启动后,只有defenderConfig.json 里面配置的白名单的请求才能通过client客户端转发到内网的server服务端。黑名单请求将无法被转发到内网的server服务端。

当前的白名单请求只配置了电子表格,移动端的请求。其他请求研发正在梳理中。

由于版本更新,请求可能新增或删减,需要项目上根据情况自行配置黑白名单。客户端日志,保存在EncryptProxy-client.log 中

EncryptProxy服务端部署

配置application.properties

...

nohup $JAVA_HOME/bin/java -jar  EncryptProxy-10.5.jar >>EncryptProxy-server.log 2>&1 &

服务端日志,保存在EncryptProxy-server.log 中。


其他说明:

EncryptProxy的client客户端和server服务端口都是无状态服务,如果需要配置集群高可用,直接配置多个节点,用nginx转发即可。

...