1. 概述
1.1 版本
报表服务器版本 | 功能变动 |
---|---|
11.0.10 | - |
11.0.18 | 注册失败提示优化,提供具体失败原因,帮助用户排查问题 |
1.2 应用场景
工程部署在docker容器中,工程无法绑定机器码/MAC地址,因此无法使用本地机器信息认证/私有云认证。
FineReport工程无法连接外网,因此无法使用公有云认证。
用户需要一台授权服务器给多个报表服务器授权,因此无法使用本地容器认证。
1.3 功能简介
FineReport提供「容器私有云认证」方案,主要适用于容器化部署的工程。
用户需要准备两个环境。
1)授权服务器:docker容器化环境中,用于上传启动私有云镜像文件。
2)工程服务器:FineReport/FineBI工程所在服务器。
1.4 注意事项
1)授权服务器与工程服务器可以共用同一服务器,也可以分开部署于两个服务器,只需确保工程服务器跟授权服务器网络互通即可。
2)授权服务器不可关闭,重启后需要重新认证。
重新认证时,无需重新上传镜像文件,只需重新扫描二维码填写验证码。
3)11.0.18 及之后版本,将在「管理系统>注册管理」页面内以列表形式显示每次认证的失败时间和失败原因,帮助用户排查问题,如下图所示:
注:集群环境下,每个节点的失败原因可能不同,将显示每个节点的失败原因。
2. 注册步骤
2.1 获取授权文件
请使用合同中指定的邮箱发送注册信息给 FineReport 商务business@fanruan.com,邮件格式如下:
商务收到邮件,核实无误后会为用户生成认证服务器的镜像文件fanruan_license_server.tar,以邮件方式发送给用户。
注:若有任何特殊情况,请在邮件中注明。
清单 | 要求 | 注意事项 | |
---|---|---|---|
优先联系 | 请提前联系帆软销售,确认相关事项并签署合同 | - | |
发件人 | 请使用合同中指定的邮箱 | 如发送注册信息的邮箱,非合同中指定的邮箱,则不予注册 | |
收件人 | business@fanruan.com | - | |
标题 | XXX 公司注册 FineReport 正式授权文件 | 如发送注册信息时,未注明公司名称,则不予注册 | |
正文 | 基础信息 | 公司名称:XXX 公司 项目名称:XXX 项目 合同签定日期:XXXX年XX月XX日 | - |
注册方式 | 容器私有云认证 | - | |
最大可注册量 | 集群工程节点个数 | 若不提供该选项,则默认为1 单机情况下无需提供该项 | |
工程版本 | 请精确到工程小版本和JAR包信息 在「管理系统-注册管理-版本信息」中可查看 | - |
2.2 启动授权服务器
1)加载镜像文件fanruan_license_server.tar
docker load < fanruan_license_server.tar
2)查看导入的镜像文件
默认会有arm64和amd64两种文件包,用户可选择适合自己的。下文以amd64包作为演示
docker images
3)通过docker镜像生成容器,并进行目录映射
例如将/app/config映射到D:\William\lic\config
docker run -v /D/William/lic/config:/app/config -P -d fanruan_license_server_amd64:1.0.0
注1:映射目录名不要包含空格、中文、特殊字符等,否则可能会导致报错。
注2:启动镜像时,默认使用容器自带的https证书,仅支持localhost/127.0.0.1两个地址。
如需支持其他IP和域名,可以启动映射证书所在目录,使用自己的证书文件。
注3:当使用-P时,Docker会随机从49153 和65535之间查找一个未被占用的端口绑定到容器,即为下文宿主机的49155端口。
如需指定宿主机端口,启动命令中-P可调整为-p 宿主机端口:容器端口
注4:容器目录说明如下表所示,如需映射多个目录,需要在各个目录间拼接-v
例如将/app/config映射到D:\William\lic\config、将/app/log映射到D:\William\lic\log
命令为:docker run -v /D/William/lic/config:/app/config -v /D/William/lic/log:/app/log -P -d fanruan_license_server_amd64:1.0.0
目录 | 说明 | 是否需要映射 |
---|---|---|
/app/config | 生成privataConfig文件目录 | 必须映射 为防止二次启动容器报错必须映射 |
/app/log | 日志目录 | 可自行选择是否映射 映射目录可方便获取日志 |
/app/tls | 容器默认的内置https证书 | 可自行选择是否映射 如不映射,私有云认证时默认只支持 IP 为 localhost 或 127.0.0.1 的连接 如需映射,必须自行在该目录下放置证书文件,否则会导致认证服务器启动失败 |
/app/web | 二维码前端文件 | 不可映射 映射后会导致无法访问扫码页面 |
4)列出在运行的容器信息
docker ps
2.3 提交认证
从上节可知道,docker容器的8081端口映射到宿主机的49155端口。
访问https://172.16.63.131:49155/license/qrcode即可进行扫码认证。(IP和端口需要按照自己实际情况调整)
使用手机浏览器/微信扫描生成的二维码,会返回一个 6 位的验证码,将该验证码填写到系统中,点击「提交认证」。如下图所示:
注1:二维码有效时间为 5 分钟,请于规定时间内完成注册流程。超过5分钟后,二维码会提示需要手动刷新。
注2:手机扫码返回验证码之后,工程最好立刻注册,未注册成功前不要重启工程。
注3:为了防止验证码暴力破解和接口高频访问,验证码输入错误次数若超过5次,则锁定 15 分钟。
2.4 报表服务器验证授权
管理员登录数据决策系统,点击「管理系统>注册管理>立即注册」,如下图所示:
认证方式选择「私有云认证」,服务器地址填写上面授权服务器显示的 IP 和监听端口,例如https://172.16.63.131:49155,点击「提交认证」,如下图所示:
注:请确保报表服务器可以访问授权服务器。
认证成功后,如下图所示:
注1:这里的最大连接数表示同时能有几个工程向授权服务器申请授权注册。
注2:若认证失败,检查防火墙设置,开放对应端口或者关闭防火墙。
3. 注册失败
11.0.18 之前版本,若注册失败,页面将出现提示弹窗:认证失败,请重新认证。
11.0.18 及之后版本,注册失败提示信息优化,若注册失败,页面将弹窗提示具体失败原因,用户可根据提示信息进行排查。
3.1 单机环境注册失败
若注册失败,页面将弹窗提示具体失败原因,点击「详细信息」按钮,即可查看具体失败原因或问题排查方案,如下图所示:
点击「返回」回到注册管理页面,「注册信息」处会显示注册失败和失败原因,点击「查看错误详情」即可查看具体失败原因或问题排查方案,如下图所示:
3.2 集群环境注册失败
若注册失败,不同节点的注册失败原因可能不同,页面将弹窗提示每个节点的具体失败原因,点击「详细信息」按钮,即可查看具体失败原因或问题排查方案,如下图所示:
点击「返回」回到注册管理页面,「注册信息」处会以列表形式显示每个节点的失败原因,点击「查看错误详情」即可查看对应的失败原因或问题排查方案,如下图所示:
3.3 失败原因
注册失败原因汇总如下,用户可根据具体失败原因或错误详情中提示的排查方案进行排查。
注1:除以下外失败原因外,其他统一报错:证书内容不正确。
注2:一次注册过程中有多个失败原因时,仅展示第一次失败的原因。
错误码 | 错误名 | 含义 |
---|---|---|
10000 | JSON_PARSER_ERROR | 数据格式不正确 |
10001 | PARAM_INPUT_ERROR | 您输入的参数有误 |
20000 | DO_NOT_NEED_DEACTIVATE | 该机器未授权无需解除绑定 |
30000 | LICENSE_EXPIRED | 证书已过期 |
30001 | REPORT_VERSION_ERROR | 版本不匹配 |
30002 | ACCOUNT_STATUS_ERROR | 账户状态不正常(解除绑定的时候出现该提示,说明这台机器因未授权无需解除绑定) |
30003 | LICENSE_IP_ERROR | IP 不在允许的范围之内 |
30004 | LICENSE_DOMAIN_ERROR | 域名不在允许的范围之内 |
30005 | LICENSE_APPNAME_ERROR | 应用名不在允许的范围之内 |
30007 | REGISTER_OUT_OF_LIMIT | 已达可授权数量上限 |
- | 工程服务器与云注册服务器连接失败 | - |
4. 认证迁移
进行了容器私有云认证的工程,如需迁移授权服务器,请按照以下步骤进行。
4.1 销毁原工程授权
请使用合同中指定的邮箱发送邮件给 FineReport 商务business@fanruan.com。
请在邮箱正文描述清楚待迁移的授权服务器地址,例如2.4节填写的https://172.16.63.131:49155
商务收到邮件,核实无误后会为用户销毁对应授权,并以邮件方式通知用户。
注:在得到商务明确答复前,请勿重启待迁移的授权服务器。
4.2 拷贝privateConfig文件
1)关闭待迁移的授权服务器。
2)在容器的/app/config路径下获取自动生成的privateConfig文件。
4.3 获取新授权文件
请使用合同中指定的邮箱发送邮件给 FineReport 商务business@fanruan.com。
邮件格式请参考本文2.1节,额外附上上一步获取的 privateConfig 文件。
商务收到邮件,核实无误后会为用户生成认证服务器的镜像文件fanruan_license_server.tar,以邮件方式发送给用户。
用户再按照第二章的步骤启动新授权服务器进行注册即可。