Skip to main content

V-Migration 治理服务工具

1. 功能介绍

功能介绍
  • 运行环境:windows/linux/ 统信 UOS (鲲鹏 arm 架构)
  • 下载地址:执行系统升级到最新版本,在 系统维护 - 治理服务 根据自己服务器的架构按需下载试用
  • 服务默认端口:8280
  • 治理工具安装必须放在与项目执行系统环境同属一台服务器上
  • 支持10月份清单和最新的主线版本清单

访问目录:配置中心 → 系统高级配置 → 系统维护 → 治理服务

img

功能含义
服务注册注册应用名称、url、物理路径,用于备份、还原时对应用的指定。
数据迁移备份功能:对应用的服务、业务数据、文件数据进行备份;
还原功能:对应用的服务、业务数据、文件数据进行还原;
维护及下载备份:对历史备份文件的维护管理;
上传备份:上传备份文件,用于还原;
进度查询:查看进行中的备份、还原任务进度;
定时备份:创建与管理定时备份计划。
服务监控对服务器的内存与 CPU 的监控。
系统参数用于设置备份还原相关的系统全局参数。

2. 快速上手

2.1 如何安装和启动治理工具?

访问目录:配置中心 → 系统高级配置 → 系统维护 → 治理服务

(1)Windows 环境安装步骤

  • 下载治理工具:执行系统升级到最新版本,在系统维护 - 治理服务- 选择 windows 版本下载

img

  • 压缩包解压
  • 启动治理工具服务:\V3Runtime\bin\目录下双击执行 startup.cmd 文件
  • 服务默认端口:8280
  • 通过 Ip+端口 的方式,对治理工具登录页访问

(2)Linux 环境安装步骤

Linux 环境安装步骤:请参考 高级应用 → Linux环境安装治理工具的步骤

UOS (鲲鹏)安装步骤:请参考 高级应用 → UOS(鲲鹏)环境安装治理工具的步骤

2.2 案例介绍

1. 备份正式环境数据,搭建项目仿真测试环境

info

案例背景:基于已有交工项目正式环境,进行备份数据,并在测试环境物理机还原一个仿真环境,用于线上业务问题的分析与验证。

操作流程:

img

前置条件:搭建两个治理工具服务

  • 正式环境:搭建治理工具,且必须放在与项目执行系统环境同属一台服务器上;

  • 测试环境:公司测试服务器上搭建治理工具,用于上传和还原备份文件,生成仿真环境。

正式环境治理工具需要操作的步骤:

(1)注册V-AppServer服务路径

访问目录:正式环境治理服务 → 注册 V-AppServer 服务路径

填写项目执行系统相关信息,包括:项目名称ip地址端口号执行系统所处的路径 ,后续的备份操作是根据用户提供的上述信息进行定位备份。

img

(2)数据备份

在正式环境治理服务的数据迁移 → 备份页面中,选择自己需要备份的服务和内容。

  • 选择备份的服务:浙江交工服务(服务在线或者离线均可备份)
  • 选择备份存放目录:E:/vproject/V-AppServer/V3Runtime/
  • 选择备份内容:勾选应用服务,业务数据,文件数据
  • 点击备份按钮

img

注意:备份触发成功后如果不小心关掉当前页面,也可以通过 数据迁移 → 进度查看功能 实时查看当前备份进度。

详细操作,参考 高级应用 → 数据迁移 → 备份功能

(3)拷贝备份文件到测试服务器

访问目录:正式环境治理服务 → 数据迁移 → 维护及下载备份

由于项目环境处于内网环境,外网无法访问,所以可以去到正式环境备份包路径拷贝备份包文件,通过云盘的方式传输到测试服务器上(详细操作,参考 FAQ → 不同服务器间的备份文件如何传输?)。

img

测试环境治理工具需要操作的步骤:

(1)上传正式环境备份文件

访问目录:正式环境治理服务 → 数据迁移 → 上传备份

选择正式环境备份文件进行上传,上传成功后,可以在还原模块那里看到备份包的内容。

img

(2)数据还原

访问目录:测试环境治理服务 → 数据迁移 → 还原

数据库需要事先准备一个空库,然后填写仿真环境服务还原的目录路径以及相关执行系统、数据库信息,选择备份包然后点击还原按钮。

详细操作,参考 高级应用 → 数据迁移 → 还原功能

img

2. 正式环境数据定时备份

info

案例背景:正式环境需要定时备份数据,用于不可预见因素引起的故障恢复。

前置条件:搭建治理工具,且必须放在与项目执行系统环境同属一台服务器上。

(1)注册V-AppServer服务路径

访问目录:正式环境治理服务 → 注册 V-AppServer 服务路径

填写项目执行系统相关信息,含项目名称,ip地址,端口号,执行系统所处的路径,后续的备份操作是根据用户提供的上述信息进行定位备份。

(2)创建定时备份任务

访问目录:正式环境治理服务 → 数据迁移 → 定时备份

可以根据实际情况自定义设置备份时间和备份频率。

  • 相关定时备份执行情况可以在数据迁移 - 进度查看模块查看;

  • 运维人员也可以通过设定自己为通知消息接收人,可以通过微信公众号的方式接受定时备份执行情况。

    img

img

(3)自动清理备份文件

访问目录:正式环境治理服务 → 系统参数

由于部分用户定时备份频率高,会在本地积攒很多备份文件,对硬盘容量压力会大,针对此情况,可以设置开启自动清理备份包功能(功能默认是关闭的)

  • isOpenCleaner:是否开启自动清理备份功能(默认关闭false),可选:开启true,关闭false;
  • cleanBeforeDays:自动清理多少天以前的备份,单位天数,默认值10天,可以自定义设置(以防备用:每个应用的最后两次备份不会纳入自动清理的);
  • cleanAtTime:每天的自动清理时间,格式为hh:mm:ss,默认值是凌晨三点03:00:00,支持自定义设置。

注意:配置保存后立马生效,保存配置后如果修改cleanAtTime时间,则需要重启治理服务才能生效。

img

3. 高级应用

3.1 Linux环境安装治理工具的步骤

Step1:下载治理工具

执行系统升级到最新版本,在系统维护 - 治理服务 - 选择Linux版本下载

访问目录:配置中心 → 系统高级配置 → 系统维护 → 治理服务

img

Step2:修改配置文件

(1)解压压缩包

#unzip ./V-Mig_linux.zip

img

(2)修改setOptions.sh配置文件

#vim /wangting/V-AppServer/V3Runtime/bin/setOptions.sh

填写vteam用户名和密码,并设置启动应用服务器自动登录;

例如:

export USER="-utoone"

export PASSWORD="-ptoone"

HEADLESS="true"

img

Step3:授权治理工具执行系统目录

#chmod 777 -R 指定执行系统目录授权

例如:chmod 777 -R /wangting/V3Runtime

img

Step4:启动治理工具服务

进入治理工具启动服务路径,在bin目录下启动startup.sh

#cd /wangting/V-AppServer/V3Runtime/bin

#./startup.sh

Step5:访问治理工具登录页

服务默认端口:8280

img

3.2 UOS(鲲鹏)环境安装治理工具的步骤

Step1:下载地址

执行系统升级到最新版本,在系统维护 - 治理服务 - 选择国产UOS版本下载

img

Step2:修改配置文件

(1)解压压缩包

#unzip ./V-Mig_UOS_kp.zip

(2)修改配置文件setOptions.sh

#vim /wangting/V-AppServer/V3Runtime/bin/setOptions.sh

找到 JAVA_PARAM_OPTS 配置项 删掉-XX:PermSize=256m -XX:MaxPermSize=256m

然后填写自己vteam用户名和密码,并设置启动应用服务器自动登录;

例如:

export USER="-utoone"

export PASSWORD="-ptoone"

HEADLESS="true"

img

Step3:授权治理工具执行系统目录

#chmod 777 -R 指定执行系统目录授权

例如:chmod 777 -R /wangting/V3Runtime

img

Step4:启动治理工具服务

进入治理工具启动服务路径,在bin目录下启动startup.sh

#cd /wangting/V-AppServer/V3Runtime/bin

#./startup.sh

3.3 治理工具升级步骤

外网畅通的情况下,可以通过普通产品升级方式更新治理工具,如果外网不能访问的情况下,则可以通过离线产品升级的方式更新。

统一入口:通过 ip地址:端口/system/settings 进入配置中心

账号:sa 密码:123456

(1)普通产品升级:选择一键升级即可。

img

(2)离线产品升级:请根据离线升级提示升级操作

img

3.4 登录页面

(1)vteam账号密码登录

info

支持账号和手机号进行登录。

img

(2)配置中心登录页面

账号:sa 密码:123456

info

sa密码修改,请参考 FAQ → 配置中心sa密码修改入口)。

img

3.5 治理工具离线登录步骤

用户登录时,如果存在连接不上 vstroe 的验证服务(包括断网,域名解析不对,连接超时等情况),治理工具提供离线二维码扫描的方式进行校验登录。

img

3.6 治理工具注册V-AppServer服务路径

填写执行系统相关信息,含名称,ip地址,端口号,执行系统所处的路径,后续的备份操作是根据用户提供的上述信息进行定位备份。

目前执行系统备份还原操作需要与治理服务同属一台服务器上,不支持跨域名/跨服务器进行备份和还原。

img

3.7 治理工具备份/还原详细功能介绍

1. 数据迁移——备份功能

选择需要备份的服务和内容进行备份,目前支持 执行系统应用服务,业务数据(数据库),文件数据(Mongo)。

img

注意
  • 如果备份内容过于庞大,请在执行系统所处的本地硬盘预留好足够的空间大小,以免在备份过程中由于硬盘容量不足造成备份失败。
  • 完整备份的过程中,如果发生部分类型备份失败则会删除有问题的文件,只保留备份成功的文件。

(1)应用服务

支持应用服务在线/离线备份(无论应用服务处于启动或者是未启动状态,均可进行备份操作)。

#支持10月份清单和最新的主线版本清单备份。

过滤指定应用服务目录:

目前备份应用服务时默认不备份日志目录(/work/log),根据用户实际情况,可以指定不备份部分应用服务目录;

在系统参数 ---> excludeBackupDir 配置项的用户值下添加不需要备份的表名,点击保存后生效。

img

(2) 业务数据

支持市面上主流数据库服务的备份操作,如mysql、mssql、oracle、达梦、gbase、h2;

#h2,仅支持离线备份

#目前数据库的备份还原只关注V平台注册的表,其他平台内元数据未注册的表由于系统无法掌握边界范围,不参与备份还原,另外存储过程、自定义函数同理。

过滤指定数据库表:

根据业务需求,有部分数据表占用内容过大,用户不希望进行备份;

在系统参数 ---> excludeBackupTableNames 配置项的用户值下添加不需要备份的表名,点击保存后生效。

img

#添加的时候,需要把缺省值自带的数据表也写进去,部分表需遵循 构件名.表名 格式:

MD_TempQuery,BA_WORKFLOW_RT_LOG,BA_WORKFLOW_RT_LOG_DETAIL,BA_RuleSet_EventLog,BA_RuleSet_Log,BA_RuleSet_EventLog_StackMsg,BA_RuleSet_Log_StackMsg

(3) 文件数据

支持mongo2.4、mongo4.4版本备份;

#mongo服务必须得是执行系统自带的,如跨域,跨服务器或者不在执行系统目录下的mongo服务暂时不支持备份。

img

2. 数据迁移——还原功能

备份完成后,在此界面可以对备份内容进行还原操作。

可指定类型还原,如果备份了应用服务,业务数据,文件数据三大类内容,但我还原的时候只想还原其中的某一项,那可以单选其中一项进行特定还原;

#还原应用服务和mongo服务时,目标路径的应用服务或者mongo服务如果存在处于运行状态,则会报错。

(1)应用服务

#还原应用服务操作流程

棕色部分 选择还原V服务存放的路径(还原的路径最好另起目录,不要和源应用服务路径一致,免得会把源数据覆盖,切记!!!);

红色部分 填写的是应用服务数据库配置信息,在还原的过程中,不会保留源执行系统的数据库配置文件,得通过这个页面重新指向数据库使用,避免影响源数据;

绿色部分 指定备份包进行还原(备份包内容必须包含V-AppServer类型);

① 是否重新部署(空库还原需选)

#执行系统备份的过程中会把缓存文件保留,所以在空库还原的情况下有可能会造成启动失败等现象(如需空库还原,则选择此选项,缓存文件会默认进行删除)。

② 还原服务的端口

#避免还原的服务后启动与备份服务端口冲突,如果不填写则与备份服务端口一致。

img

(2)业务数据

#还原业务数据操作流程

还原数据库前,数据库需要自己准备,这里只是提供连接的手段,不包含创建数据库用户等操作

① 是否覆盖当前库(谨慎操作)

选中效果:如果该数据库用户下存在相同的表数据,则会先清空原表数据,再进行还原;

不选择效果:如果还原的内容和源数据有重复冲突,则有可能提示主键重复报错,反之会追加表和表内容;

#空库还原的情况下,选不选中的效果都一样

② 数据库信息区域,填写目标数据库相关信息即可

③选择指定备份包进行还原(备份包内容必须包含**Database类型**)

img

(3)文件数据

#还原文件数据(mongo)操作流程

在还原V服务目录下填写目标执行系统路径(还原的路径最好另起目录,不要和源应用服务路径一致,免得会把源数据覆盖)

#还原后会在填写目标执行系统路径下生成目录和文件(\V3Runtime\conf\setting\mongo)

img

从还原历史选择:

用户第一次还原的时候会生成还原记录,通过点击“从还原历史选择目录及数据库配置来调整”按钮,可以带出上次还原的配置信息,方便用户进行操作。

img

3. 数据迁移——维护及下载备份

  • 支持批量删除备份文件
  • 支持跨域下载备份文件

img

4. 数据迁移——上传备份

便于不同服务器间的传输,可以通过其他服务器的治理服务下载备份包到本地(参考 高级应用 → 数据迁移 → 维护及下载备份能 ),然后备份包上传到本地的治理服务进行还原操作,上传成功后,在还原功能的页面就能上传备份包的内容了。

#上传备份包的时候一定要上传完整的备份包文件,不能私自解压完整压缩包再进行上传。

5. 数据迁移——进度查询

可以实时查询迁移工具正在执行备份或者还原的任务情况以及查看任务的进度。

img

6. 数据迁移——备份功能定时备份

可以按需设置定时备份的内容、备份时间以及备份频率。

img

3.8 服务监控

监控机器内存和机器CPU的使用率,后续会逐步完善监控维度。

img

3.9 系统参数

提供各配置项的系统全局参数设置,用户可根据自身的使用习惯,调整参数值。

img

1. 设置消息通知接受人员

根据提示设置备份/还原消息通知接受人员,可通过微信公众号的方式进行推送。

img

2. 定时删除备份包

针对部分用户定时备份频率高,会在本地积攒很多备份包,对硬盘容量压力会大,因此我们提供了一个定时删除备份包功能(功能默认不开启)。

img

4. FAQ

4.1 备份过程中发现有部分备份类型失败

Q1:备份的过程中出错,例如数据库备份失败,其他两项是成功的,那这个文件是否有用或者能够和后面单独的数据库组合用来恢复?

A1:完整备份的过程中,如果发生部分类型备份失败则会删除有问题的文件,只保留备份成功的文件和记录,后续可以在还原功能界面进行还原操作,但不支持组合恢复,仅适用于单次备份包记录进行恢复,例如数据库备份失败了,mongo 和执行系统都备份成功,用户还原的时候,只能选择当前这个备份包进行还原(含备份成功的 mongo 和执行系统),不能再搭配选择在其他备份包中(含备份成功数据库备份)进行组合还原(除非分开两步进行操作)。

4.2 治理服务登录是否支持离线登录

Q2:治理服务登录支持离线登录吗?

A2:支持,参考 高级应用 3.5 治理工具离线登录

4.3 不同服务器间的备份文件如何传输?

A3:不同服务器间的备份文件如何传输?

1. 目标环境无法访问源治理服务

场景:以公司网络为例,有备份文件需要拷贝到客户服务器上,但客户环境的服务器无法访问公司内网,只能通过其他途径(例如先在公司服务器下载备份包,然后上传至网盘),然后在客户环境通过网盘下载备份包上传到客户环境的治理服务上。

step1:首先得公司执行系统所在的服务器搭建一个治理服务;

step2:然后备份执行系统、数据库、mongo等,在维护及下载备份界面下载备份包(或者到指定路径直接拷贝);

img

step3:在客户服务器上搭建一个治理服务,把之前下载的备份包拷贝到客户服务器本地;

step4:上传备份界面,选择备份文件上传备份;

img

step5:在还原界面就能选择刚才上传的备份包内容进行还原了。

2. 内网之间相互传输

场景:针对内网之间网络互通的服务器进行文件上传。

在源治理工具的维护及下载备份页面,查看备份包的地址,然后远程到源治理工具的服务器上,通过浏览器访问目标治理服务上传备份页面,进行上传操作;

如果源治理工具的服务器没权限访问,只能多做一步下载备份包操作,然后再进行上传。

img

4.4 (常见)还原的执行系统或者数据库版本配对不一致问题

Q4:有部分用户存在还原执行系统或者数据库后,执行系统启动存在一些报错问题。

A4:我们可以从以下几点进行排查:

(1)执行系统构件与数据库内的版本是否一一对应?是否存在执行系统版本高,数据库版本低等情况?

(2)新还原的执行系统连接的数据库是否是空库还是非空库?

img

4.5 还原Oracle数据库,提示对表空间“”xxx“”无权限

A5:需要授予用户使用表空间权限。

涉及版本:oracle11g ,oracle12c

ALTER USER 用户名称 QUOTA UNLIMITED ON 表空间名称。

img

4.6 备份Mssql数据库失败,提示获取数据库连接失败

Q6:备份Mssql数据库失败,提示更换驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误: “The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”。

A6:新版的 mssql 驱动对jdk版本有要求,参考以下版本。

在系统信息中,查看 JRE 版本

访问目录:配置中心 → 系统高级配置 → 关于 → 系统信息

(1)jdk版本大于 jdk1.8.0_181

可以更换低于jdk1.8.0_181版本,例如1.8.0_101 64bit。

(2)如果一定要大于等于jdk1.8.0_181版本,需要修改jre/lib/security/java.security文件;

img

注意:注释掉图片中的两行数据,然后把下面这行复制拷贝进去,重启执行系统即可。

jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768

img

4.7 数据库还原提示主键重复

Q6:还原数据库提示主键重复或者冲突。

A6:在还原数据库的过程中,会经常遇到主键 id 重复的情况,说明该表是已经存在数据了,可以分两个场景进行排查。

(先确认目标数据库信息是否填写准确!)

场景1:还原的目标数据库不是空库,则需要在还原界面上勾选是否覆盖当前库,然后执行还原操作,这样会先把表内的数据清了,再进行插入。

(谨慎操作,勾选此选项后要确认目标数据库信息是否准确再进行还原!!!)

场景2:还原的目标数据库是空库,但是之前进行还原的时候强行中止了还原任务,这时候数据表内会残留已经导入的数据,所以我们还是需要勾选 “是否覆盖当前库” 解决此问题。

img

4.8 配置中心sa密码修改入口

访问目录:配置中心 → 系统高级配置 → 关于 → 系统信息

找到配置中心sa的密码,点击编辑修改即可。

img

5. 网关服务

5.1 背景

使用 V 开发的业务系统,在项目上线之后,需要被第三方应用通过 webapi 的方式进行服务端接口的集成调用。

V 系统对外暴露的 webapi 希望能做权限分类,分配不同的 webapi 接口权限给不同的第三方应用。所以,期望能够提供一种预先配置特定模块的接口授权,在运行时可以基于这个授权关系,做对应的调用鉴权,有权限接口的可以调用,无权限的做拦截不允许调用。

5.2 实现方式

提供一个独立的服务端工具(网关服务),配合 V 执行系统共同部署到项目生产环境中,这个工具用于集中统一的完成特定 V 执行系统的服务端 webapi 接口调用的权限定义、权限授权、权限鉴权能力。

img

5.3 功能总览

img

5.4 使用说明

5.4.1 搭建网关服务

网关服务依托 Vim治理工具,下载或升级治理工具后,执行bin目录下的 startup.cmd 启动治理服务,网关服务也会随之启动。

治理服务的默认端口是 8280 ,网关服务的默认端口是 9876

5.4.2 使用网关服务

5.4.2.1 登录治理服务

使用登录 vteam 的账号密码登录 http://localhost:8280 ,打开【网关服务】→【注册应用服务】菜单。

5.4.2.2 添加应用并注册服务

此处添加了 3 个应用,分别为【印章管理】、【税务管理】、【IEMS 系统】。

img

进入执行系统配置中心 系统高级配置 - 系统维护 - 集群和中间件配置,填写服务注册模块并点击按钮注册服务,以【印章管理】应用为例,如图所示

  • 集群标识:为 网关服务 - 注册应用服务 中的应用服务编码
  • nacos服务中心地址:为 网关服务 - nacos服务中心管理 中的ip地址

img

5.4.2.3 获取应用的 accessToken

首先点击顶部按钮开启webapi授权,再根据应用的 appIdappSecret ,获取能访问接口的 accessToken

img

网关服务提供了一个获取 accessToken 的接口,说明如下:

  • 请求方式:GET
  • 请求地址:http://localhost:9876/getToken?appId=${appId}&appSecret=${appSecret}
  • 入参说明
参数是否必须说明
appId应用的 appId
appSecret应用的 appSecret
  • 权限说明

每个应用有独立的 secret ,获取到的 access_token 只能本应用使用,所以每个应用的 access_token 应该分开来获取。

  • 返回参数说明
参数 类型 说明
msgstring返回说明信息
dataobject返回的数据体
expiresInnumber凭证过期时间(秒)
accessTokenstring获取到的凭证
successboolean是否成功
errorCodestring错误编码
  • 请求示例
http://localhost:9876/getToken?appId=8460c20b25114241632875c22fa542b0&appSecret=8d4c7a29b2235b4c6ab9f8db58ee79a3
注意
  1. 9876 是网关服务的端口,若有修改端口,则这里需要对应替换成修改后的端口;
  2. 修改端口功能在章节【网关服务管理功能】中做介绍 。
  • 返回结果示例

    img

5.4.2.4 根据应用的 accessToken 访问接口

根据应用的 appIdappSecret ,获取的 accessToken ,可以访问应用映射服务的所有接口。

  • 支持 GET 或者 POST 方式调用;
  • 传参方式支持查询字符串参数、form表单参数和 Json 格式传参;
  • accessToken 可以添加在请求头中,也可以添加在查询字符串参数当中。

访问接口方式,如下图:

img

img

5.4.2.5 添加角色并分配权限(非必须)

基于第1节中此功能的背景说明,当有一个应用,需要按需将某部分接口授权给不同公司使用时,可以在应用下分配角色,并对角色进行权限分配。

那么不同的公司使用,为其提供的角色 Id 和角色 Secret 获取到 accessToken 后,可以调用其有权限的接口。

比如:

  1. 【IEMS系统】这个应用,它包含了【合同管理】、【安全管理】、【资金管理】等模块。
  2. 若想把【合同管理】模块的权限分配给公司 A 、【安全管理】模块的权限分给公司 B 。
  3. 就可以创建角色并为其分配对应接口的权限后 ,为这些公司提供对应的角色 IdSecret
  4. 这样每个公司拿到属于自己的角色 IdSecret 并获取到 accessToken 后,就可以调用有权限的接口了,对于未授权的接口调用会被拦截。

img

(1) 新增角色

定位到应用节点下,点击【新增角色】→ 输入角色信息后,点击【保存】,会生成对应的 roleIdroleSecret

img

(2)为角色分配权限

定位到角色节点下,点击【新增权限】→ 选择【授权方式】→ 【确定授权】。

img

img

(3)授权方式

授权方式有 4 种:

  • 所有构件所有方法可访问:该角色可以访问应用对应服务的所有接口。
  • 特定构件所有方法可访问:该角色可以访问应用对应服务中指定构件的所有接口。
  • 特定构件特定方法可访问:该角色可以访问应用对应服务中指定的接口。
  • 自定义可访问方法:可使用正则匹配,当对应服务是非V服务时,可以使用此方式授权指定接口。

img

(4)根据 roleId 和 roleSecret 获取 accessToken

根据 roleIdroleSecret 获取 accessToken 的接口与【获取应用的 accessToken】功能使用的是同一个接口,只是入参不同( appIdappSecre t对应改成 roleIdroleSecret ),接口其他说明请参考【获取应用的 accessToken】

  • 入参说明
参数是否必须说明
roleId应用的roleId
roleSecret应用的roleSecret
  • 请求示例
http://localhost:9876/getToken?roleId=ca00f4a6154261493e18c5e17af8ef10&roleSecret=328830155647a5409c58098515a8f445

img

(5)根据角色的accessToken访问接口

访问方式与【根据应用的 accessToken 访问接口】相同,非V服务也支持 DELETE、PUT、PATCH 等方法。

5.4.3 默认应用

上面可以看到,通过网关服务访问接口时,需要加上应用编码,若网关服务中只注册一个应用,那么这个应用就是默认应用,此时在访问该应用的接口时就无需加上应用编码。

  • 有多个应用时的访问地址:http://localhost:9876/Tax_management/webapi/sealpro_seal_use_db/ServerFunc_SaveSealUseApply

  • 为默认应用时的访问地址:http://localhost:9876/webapi/sealpro_seal_use_db/ServerFunc_SaveSealUseApply

5.4.4 网关服务管理功能

登录治理服务,在【网关服务】→【网关服务管理】菜单,集成了网关服务的启动、停止、修改配置、下载日志等操作。

  • 启动服务:网关服务关闭状态下,点击【启动服务】,会启动网关服务。
  • 停止服务:关闭网关服务。
  • 修改配置:修改网关服务配置,如 JVM 设置、端口设置、token 存活时间和 token 过期后缓冲时间。其中修改 JVM 设置、端口设置后需停止服务后重新启动服务。
  • 下载日志:下载网关服务的日志,便于出现问题时跟踪问题。

img

5.4.5 控制治理服务登录的账号

默认状态下,治理服务是所有 vteam 账号都可以登录。

为了安全,可以在治理服务的配置中心配置允许登录的账号,设置后,其他账号不允许登录。

注意

强烈建议在生产环境下指定治理服务的登录账号,以免秘钥泄露。

  • 登录治理服务的配置中心 http://localhost:8208/system/settings —— sa/123456(配置中心默认密码是123456);
  • 打开【系统治理配置】→【登录账号配置】,输入允许登录的账号后,点击【保存】。

img

注意

强烈建议修改治理服务的配置中心 sa 登录密码,以免秘钥泄露,修改入口见下图:

img

5.4.6 查询有权限的接口列表

网关服务提供了一个接口,用来根据 accessTokentoken 有权限访问哪些接口,说明如下:

  • 请求方式GET
  • 请求地址:http://localhost:9876/应用编码/getVPermissionUrls?accessToken=${accessToken}
  • 入参说明
参数是否必须说明
accessToken根据应用或角色信息获取到的凭证
  • 返回参数说明
参数 类型 说明
dataobject返回的数据体
permissionApisarray有权限的接口列表
apistring接口路径
successboolean是否成功
msgstring返回说明信息
- **请求示例**:
http://localhost:9876/Tax_management/getVPermissionUrls?accessToken=
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NjU0NTM2OTQsImlhdCI6MTY2NTM2NzI5NCwiYWNjb3VudCI6ImM2OTBjNTRk
OWZlODM5NDA3YTk5ZGYwOWFhMzMxYTE5In0.xl-SDSAcP2GDRJs33GCX-CMVL3Z1hH9cKN3MwY2g89E

默认应用时无需加上应用编码:

http://localhost:9876/getVPermissionUrls?accessToken=
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NjU0NTM2OTQsImlhdCI6MTY2NTM2NzI5NCwiYWNjb3VudCI6ImM2OTBjNTRkO
WZlODM5NDA3YTk5ZGYwOWFhMzMxYTE5In0.xl-SDSAcP2GDRJs33GCX-CMVL3Z1hH9cKN3MwY2g89E
  • 返回结果示例

img

5.4.7 白名单功能

提供内部服务白名单的过滤功能,即内部服务间的调用可以不用带 token

目前暂时不用特地配置,发起访问的客户端 ip(或域名)是注册应用服务地址的ip(或域名)的其中之一,此客户端访问 api 时就可以不用带 token

如下图,由列表中 IP 发起的对网关服务的接口访问,可以不用带 accessToken

img

5.4.8 将网关配置为https请求

https 证书申请可参考:https://help.aliyun.com/document_detail/365559.html

配置说明:在【网关服务管理】菜单,【修改配置】窗口点击【查看网关服务配置为https的配置方法说明】

img

img

5.4.9 请求接口时异常编码说明

错误编码说明
40001无效的Token
40002没有token
40003token已过期
40004token签名不匹配无效
40005token算法不匹配无效
40006token声明属性不匹配无效
40007刷新Token无效
40008token中获取客户标识为空,此token无效
40009根据token中的客户标识获取对应的密钥为空,此token无效
40010没有url的权限
40020不是系统分配的id和secret

img

img