1. 描述编辑
报表服务器部署在内网,不能访问外网,也不能被外网访问。这种情况下可以通过配置代理服务器来转发内网报表服务器和外部的通信。
假设有两台机器,一台机器 192.168.5.61 作为代理服务器,一台机器 192.168.5.24 作为内网服务器。
下面以 Windows 系统为例进行配置。
2. 正向代理配置编辑
2.1 说明
报表服务器向代理服务器发送请求类似http://代理ip:端口/gettoken,代理将请求转给 oapi.dingtalk.com,从而实现对外部微信/钉钉服务器的访问。
2.2 步骤
1)代理服务器下载地址:nginx,这里以 nginx/Windows-1.14.0 为例,点击下载。
2)下载完成后解压即可使用,点击 nginx.exe,在浏览器内输入http://localhost/ 出现 Nginx 欢迎页面即部署成功。
3)修改配置文件conf/nginx.conf,在http{}之间添加如下代码:
server {
listen 8114; # listen 端口,代理服务器的端口,可以自定义
server_name 192.168.5.61; # sever_name, 写的代理服务器的 IP 地址
location / {
proxy_redirect off;
proxy_pass https://oapi.dingtalk.com; #转发地址,以钉钉为例 https://oapi.dingtalk.com,微信类似 https://qyapi.weixin.qq.com
}
location = /favicon.ico {
log_not_found off;
}
}
4)重启 Nginx,在浏览器内输入http://代理ip:端口/gettoken,比如:http://192.168.5.61:8114/gettoken,有如下钉钉返回信息即表示代理服务器配置成功。
5)安装钉钉插件后,在钉钉基本信息页面里,填入代理地址后保存,然后在成员管理里面同步通讯录,可以同步即表示正向代理配置成功。
3. 反向代理配置编辑
3.1 说明
访问代理服务器env.finedevelop.com:56108/WebReport/ReportServer?op=fs,代理将请求都转给内网报表服务器 192.168.5.24:8080,从而实现对内网报表服务器的访问。
注:这个属于常规环境配置,客户需要根据自己的网络环境自行配置,这里配置步骤仅供参考。
代理服务器配了一个端口映射,可以被外网访问 192.168.5.61:8443—>env.finedevelop.com:56108
内网报表服务器的访问地址是 192.168.5.24:8080/WebReport/ReportServer?op=fs
3.2 步骤
1)代理服务器的部署同上,下载并安装 Nginx。
2)修改 Nginx 配置文件conf/nginx.conf,在http{}之间添加如下代码:
server {
listen 8443; # listen 端口,代理服务器的端口,可以自定义
server_name env.finedevelop.com; # server_name,写的代理服务器的地址
location / {
proxy_pass http://192.168.5.24:8080; # 转发地址 内网服务器的 IP 和端口
proxy_set_header Host env.finedevelop.com:56108; # 转发的请求里的 host 信息,,写的打开在浏览器里 URL 的地址
}
}
3)重启 Nginx,浏览器内输入env.finedevelop.com:56108/WebReport/ReportServer可以正常登录并访问服务器,则表示配置成功。
即可通过env.finedevelop.com:56108/WebReport/ReportServer?op=fs访问内网服务器,同时在 微信/钉钉 管理中也可以同步获取通讯录了。
3.3 其他配置
用反向代理将内网报表服务器开放到公网,公网访问时应该只是普通用户,考虑安全原因不对公网连接进来的用户开放后台管理。设置方法如下:
在 Nginx 配置文件监听端口下添加如下信息,webroot 为应用部署的工程名称。
server {
listen 8088 default_server;
location /webroot/decision/v10/decision/modules {
default_type application/json;
return 200 '{"data":[]}';
}
}