使用控制台
网关配置
网关管理包含以下操作:
- 功能开关:功能开关是对全局进行控制,可以按需进行开启或者关闭,从而控制所有 API 相关功能。
- API 限流:对某一个 API 的访问频率进行管控,避免高峰期时并发量过高压垮台服务器,默认关闭,需要打开才生效。
- API Mock:对某一个API的返回值进行 Mock,以提供对应的响应结果,默认关闭,需要打开才生效。
- API 授权:在移动网关中针对客户端对后台服务的访问请求进行校验,通过合法性验证后才予以放行,默认关闭,需要打开才生效。具体配置,请参见 高级配置 文档中的”API 授权“。
- 数据加密:在客户端到移动网关的请求链路中,对数据进行加密,保重通讯的安全,默认关闭,需要打开才生效。 目前支持 RSA 加密,后续开放国密加密等算法,该功能需要与客户端配合使用。 如果网关管理中设置的加密方法与客户端的不一样,对客户端请求无法解析。
- 签名校验:对客户端到移动网关的请求进行调用者的签名校验,确保请求的身份安全,默认关闭,需要打开才生效。
- API 防重放:对 API 的防重复功能。
API组管理
- 登录 TMF 控制台,进入移动网关模块,在左侧导航中,选择API 管理 > API 组管理。
- 在 API 组管理页面左上方,单击创建 API 组,填写所需配置内容,即可生成新 API 分组。
-
字段说明:
API管理
同步数据
同步导出
- 登录 TMF 控制台,并进入移动网关模块,在左侧导航中,选择API 管理 > API 管理。
- 在 API 列表页,勾选复选框,选择需要导出的数据,在 API 管理页面左上方,选择同步数据 > 同步导出,则导出对应数据。如果一条数据都未勾选,单击同步导出,则弹窗提示导出全部数据。
同步导入
- 登录 TMF 控制台, 并进入移动网关模块,在左侧导航中,选择API 管理 > API管理。
- 在 API 管理页面左上方,选择同步数据 > 同步导入。
在 API 数据同步页面,根据需求勾选,导入数据是是否覆盖 API 组,然后单击点击上传,上传需要导入的文件(文件格式为 txt)。
- 同步导入适用于跨环境、跨应用的 API 迁移或同步。以接口标识为 KEY,如果新环境或新应用中有接口标识相同的 API,则进行覆盖更新;如无,则直接新增。
- 以分组名称 + 系统名称为 KEY,如新环境或新应用中有分组名称 + 系统名称相同的API组,用户设置了覆盖分组则进行覆盖更新,反之则不做覆盖操作。
创建API
基础信息
- 登录 TMF 控制台,并进入移动网关模块,在左侧导航中,选择API 管理 > API 管理。
- 在 API 管理页面左上方,单击创建 API。
在创建 API 页面,填写所需配置内容,即可生成新 API。
字段说明:
- 接口类型:默认为 HTTP。
- 访问级别: 该 API 的访问级别。默认为 App;下拉选项共包含 (全部、App、HTTP)。
- 接口标识:必填,客户端调用该接口时所传入的接口标识。
- 接口中文名称:必填,用于区别不同接口。
- 版本:用于标注 API 版本。
- 接口描述:用于添加接口的相关描述。
- 调用方式:必填,可选“POST/GET”。
- URL 路由方式:必填,可选“轮询/hash”。
- 报文密码:必填,可选“UTF-8/GBK”。
- 后端服务 URL:必填,可按照 API 分组包含的“服务地址”和“后端服务路径”拼接成为一条 URL。
- 权重:权重表示该 URL 被访问的次数,比如 A = 1,B = 3,在4次请求中 A 被请求1次,B 被请求3次,GUID 哈希化时,A 被分配1次,B 被分配3次。
- 测试连接:在浏览器直接请求配置的服务 URL 地址,用于验证地址配置是否正确。
- 参数列表:API 默认携带的参数。
- 新增一行:在基础信息下方,单击新增一行,会在参数列表中新增一条参数数据,,依次填写参数名、参数位置、参数类型、是否必填、默认值、描述字段。
参数校验
对于接口可以配置请求参数校验规则,如参数位置、类型、是否必填等规则。客户端调用该接口时,网关会对接口调用的参数进行检查。满足配置的参数校验规则的调用后,才会转发至后端服务,否则网关返回调用接口调用错误。
注意:参数校验要求请求数据使用表单格式,即
key1=value&key2=value
。如果数据内容非表单格式,请勿开启参数校验。
高级配置
API防重放
开启“API 防重放”开关后,会对客户端到移动网关的请求进行 API 的防重复校验。
签名校验
开启签名校验后,会对网关到后端的请求进行签名校验,确保身份安全。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API 开启功能,添加签名密钥。
- 全局开关必须打开,此设置才会生效,请先在"网关配置" 中打开 "签名校验" 开关。
- 针对单个API开启签名校验,这个签名校验是指移动网关到API服务提供方。
API授权
API 授权功能允许业务在 TMF 网关管理中定义通用的 API 访问授权规则:
- 创建授权 API 并在网关管理中配置参数,然后关联到业务 API B 的配置。
- 客户端发起向后台服务 API B 的请求时,TMF 网关管理会根据 API 授权配置,从该请求 Header 或 Cookie 中取出授权参数放到 Context 里,然后调用已经关联业务 API B 的授权 API A。
- 授权 API A Server 会针对 Context 中的参数做业务权限校验。
- 如校验合法,TMF 网关管理会将校验结果 ApiAuth 添加在请求 Header 中,传递给后端业务 API B。
- 如需缓存,TMF 网关管理会缓存校验结果 ApiAuth,提高授权的性能。
操作步骤:
首先在全局层面开启 API 授权功能。
(1)在移动网关模块的左侧导航中,单击网关配置,在网关配置页面,打开 API 授权开关,并在 API 授权下方,单击创建授权方。 (2)在配置授权弹窗中,配置相关参数,单击提交后保存。 字段说明:
- 授权方名称:必填,授权规则的名称。
- 授权方接口:必填,用于验证请求授权情况的接口,该接口从网关已有API接口中选取。
- 授权缓存:是否缓存授权的验证结果。
- 缓存 TTL:验证结果的缓存存活时间。
- 身份来源:单击添加来源字段,填写用于授权的请求参数,表明请求身份的信息,由以下字段组成:
- 位置:参数所处位置,header 、cookie或者body。
- 字段:参数名称。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API ,打开“API 授权”开关,选择授权方。
熔断机制设置
熔断机制配置后,当某个 API 后端调用连续返回失败次数(超时,50X)达到阈值后,将触发熔断机制,在配置的熔断恢复时间间隔内,网关将不再转发该 API 的请求至后端服务。当到达熔断恢复时间间隔后,网关重新尝试对该 API 请求进行转发,如后端服务成功返回,将取消熔断状态,否则将继续熔断,下一次熔断恢复时间间隔后再进行检查。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API 打开“熔断机制设置”开关,配置相应熔断机制。
- 熔断后恢复的时间间隔(s):熔断机制触发后,网关不转发该 API 请求的时间。
- 触发阈值:后端服务连续失败次数阈值,到达阈值后网关触发熔断机制。
限流配置
API 限流指对某一个API 的访问频率进行限制,避免高峰期时请求量过大压垮后台服务器。
在全局层面开启功能。
(1)在移动网关模块的左侧导航中,单击网关配置,在“网关配置”页面,打开 API 限流功能。 (2)全局开关打开后,使用 API 限流功能,就需要针对单个 API 进行配置。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API 打开“限流配置”开关,选择限流策略。
- 起止时间:根据业务需求,对限定的起始时间进行设定。
- 限量频率:根据业务需求设置合理的限流阈值(单位:秒)。限流模式为拦截且超过此值时,请求会被限流。
缓存配置
配置 API 缓存信息,缓存 API 的响应,减轻后台服务的系统压力。
API 缓存包含整个后台请求的响应,包括 header 和 body,所以要求被缓存的 API 的响应头中排除状态类信息,比如 cookie 中的用户态信息数据。该缓存功能只适合缓存无状态数据。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API ,在“新增/修改”API 页面,打开“缓存配置”开关,选择缓存策略。
- 缓存时间:缓存的存活时间,单位:秒。
- 缓存键值:用于缓存的键值表达式。单击 修改 定义缓存键值。在弹出的模态框中,填写缓存所需的主键,可以拖曳进行排序。关于键值语法的信息,参见本文的键值语法。
语法 | 描述 |
---|---|
$ | 根对象,例如:$.obj |
[num] | 数组访问,其中 num 是数字。例如:$[0].obj.foos[1].name |
. | 属性访问,例如:$. obj |
[‘key’] | 属性访问,例如:$[‘obj’] |
$.header | API 请求头对象,用于获取请求头中的字段,例如:$.header.remote_addr |
$.cookie | API 请求 cookie 对象,用于获取 cookie 中的值,例如:$.cookie.session_id |
$. body | 后端为 HTTP 类型的请求体对象,用于获取请求体中的字段,例如:$. body.name |
$.qs | 后端为 HTTP 类型的请求参数对象,用于获取请求参数,例如:$.qs.name |
MOCK 配置
对某一个 API 的返回值进行 Mock,从而返回对应的特定值。
- 在移动网关模块的左侧导航中,单击网关配置,在 “网关配置”页面,打开 API Mock 开关。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API ,在“新增/修改”API页面,打开“Mock配置”开关,添加Mock数据配置(Mock内容最长为 65535 字节)。
在终端进行以下操作,进行验证:
超时配置(ms)
网关后端服务接口超时时间。客户端请求改 API 接口,网关在超时时间内没收到后端服务响应,返回本次接口调用超时。
在移动网关模块的左侧导航中,选择API 管理 > API 管理,针对具体某个 API ,在“新增/修改”API页面,配置超时时长。
API测试
用于对API进行测试,在 API测试的页面进行相关配置。