您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
我们于以下日期开始发布适用于公有云的 Apigee Edge 的组件更新:
- 消息处理器:2020 年 5 月 1 日,星期五
- API 管理:2020 年 4 月 20 日,星期一
- 创收管理:2020 年 4 月 20 日,星期一
- API 管理补丁版本:2020 年 6 月 22 日(星期一)
- 创收管理补丁版本:2020 年 7 月 6 日,星期一
- 管理服务器安全更新:2020 年 8 月 24 日,星期一
- 包含 bug 修复的消息处理器补丁版本:2020 年 9 月 24 日(星期四)
- 包含 bug 修复的消息处理器补丁版本:2020 年 10 月 26 日(星期一)
- 包含 bug 修复的消息处理器补丁版本:2021 年 2 月 1 日,星期一
新功能和更新
以下是此版本中的新功能和更新:
JWT 政策
-
JWT 加密
通过 JWT 政策,您可以生成、验证和解码加密令牌。政策的新元素包括:
<Type>
- 可让您设置令牌是进行签名还是加密。<EncryptionAlgorithms>
- 允许您设置<Key>
和<Content>
加密算法。
(67165581)
支持签名令牌中的 PSS 算法
用于生成和验证 JWT 和 JWS 的政策现在支持 PS256、PS384 和 PS512 算法,如 IETF RFC 7518 中所述。 (119856499)
生成令牌的 JWT 相对开始时间
使用 GenerateJWT 政策生成 JWT 时,
<NotBefore>
元素允许您指定从生成令牌到令牌生效之间的相对时间。例如,<NotBefore>
值为 2h 表示令牌仅在生成后 2 小时内有效。您可以设置<NotBefore>
时间,以毫秒 (ms)、秒 (s)、分钟 (m)、小时 (h)、天 (d) 或周 (w) 为单位。(126261970)-
VerifyJWT 中的引用公钥/证书
在 VerifyJWT 政策中,
<PublicKey>
/<Certificate>
元素可让您引用 PEM 格式的证书,用于验证传入的 JWT 签名。例如:<PublicKey> <Certificate ref='public.certificate_pem'/> </PublicKey>
(132918033)
消息模板函数
以下是此版本中新增的 消息模板函数:
- firstnonull - 返回第一个(最左边)非 null 参数的值。 (139698514)
- xpath - 可让您应用 XML 路径 (XPath) 表达式来解析 XML 变量。 (123246424)
assignMessage 政策:assignVariable 可让您引用消息模板
在 assignMessage 政策中,<AssignVariable>
/ <Template>
元素允许使用 ref
属性,让您可在运行时注入可以更改的预定义模板,而无需修改政策。(118396082)
多个证书别名
在
配置 TLS 和在密钥库中使用多个证书(每个证书具有不同的别名)时,Edge 允许您在 <SSLInfo><KeyAlias>
配置中引用特定的证书别名。如需启用此更新的行为,请在消息处理器上的 http.properties 文件中将新的 HTTPClient.choose.alias.by.keyalias
属性设置为 true。面向公有云的 Edge 用户必须联系
支持团队才能添加此属性。(142141620)
JSONtoXML 政策:省略 XML 声明,缩进输出
JSONtoXML 政策中新增了两个布尔值选项,可让您更好地控制 XML 输出。
<Options> <OmitXmlDeclaration>
- 如果设为 true(默认值为 false),<OmitXmlDeclaration>
元素会忽略政策生成的默认<?xml version="1.0" encoding="UTF-8"?>
XML 声明。<Options> <Indent>
- 如果设置为 true(默认值为 false),<Indent>
元素会缩进 XML 输出。 例如,不输出以下内容:<Array><n>1</n><n>2</n><n>3</n></Array>
Indent 元素会生成以下内容:
<Array> <n>1</n> <n>2</n> <n>3</n> </Array>
(65142394)
虚拟主机扫描的响应
如果向 Apigee 端点的 IP 地址(未指定虚拟主机)发出请求,则 Edge 返回了 HTTP 200 响应以及与该 IP 地址关联的默认 Apigee 虚拟主机发出的空白 HTML 文档。为了避免误以为此类响应可能代表可被利用的潜在漏洞,系统会断开连接且不返回任何响应。(140005396)
在 Trace 中定位服务器属性,以帮助排查问题
以下新的轨迹属性会显示目标服务器的 HTTPClient 是否已缓存,有助于排查目标连接问题:isHttpClientCached
和 isFromClientPool
。(140574604)
MessageLogging 政策:Syslog 消息
在 MessageLogging 政策中,借助新的 <Syslog>
/ <PayloadOnly>
元素(布尔值),您可以确定是否自动将任何内容附加到您定义的 <Message>
前面。如果将 <PayloadOnly>
设置为 true,则无论 <FormatMessage>
设置如何,消息定义前面都不会附加任何内容。如果设置为 false(默认值),则 <FormatMessage>
设置可确定在日志消息前面附加的内容。(68722102)
缓存政策到期
ResponseCache 政策和 PopulateCache 政策中新增的 <TimeoutInSeconds>
过期时间元素会按照现有 <TimeoutInSecs>
元素的最初预期工作方式运行。请使用新元素。
为了向后兼容,已废弃的 <TimeoutInSecs>
元素仍然存在。如果同时配置了 <TimeoutInSecs>
和 <TimeoutInSeconds>
元素,Edge 会使用 <TimeoutInSeconds>
。(119172893)
Virtualhost.aliases.values 流变量
新的只读 virtualhost.aliases.values
消息流变量会返回一个 JSON 格式的数组,其中包含分配给入站请求所调用的虚拟主机的所有别名。(128453178)
用于确保删除代理修订版本的新参数
删除 API 代理修订版本中新增了 force
查询参数。如果修订版本列在 List API Proxies API 中,但实际上无法查询修订版本,此参数可确保删除代理修订版本。(111691721)
例如:
DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true
为虚拟主机别名值新建流变量
新的只读 virtualhost.aliases.values
消息流变量会返回一个 JSON 格式的数组,其中包含分配给入站请求所调用的虚拟主机的所有别名。(128453178)
已修复 Bug
此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。
问题 ID | 组件名称 | 说明 |
---|---|---|
143313772 | 消息处理器 |
修复了在启用 (在 2021 年 2 月 1 日的补丁版本中。) |
154428338 | API 运行时 |
如果密钥库配置了类似的名称或别名,消息处理器无法加载环境。 我们修复了加载具有类似命名惯例的密钥库时出现的正则表达式查找冲突。此错误会导致消息处理器无法加载与密钥库关联的环境,或者在查找过程中返回多个冲突的密钥库时无法启动。 |
149507805 | API 管理 |
为所有 MGMT 生产服务器启用通过 HTTP 进行部署/配置 配置更新通过 HTTP 而非 RPC 进行,从而提高可靠性并更好地记录错误。 |
137217974 | API 管理 |
通过 HTTP 配置 MP 时,请在目标服务器仍在使用中时正确传播错误 由于问题 149507805 中引入了可靠性改进,因此当删除失败时,目标服务器删除操作的响应错误被错误地报告为状态 200(成功)。进行此项修复后,现在如果删除失败,响应错误会正确报告为 Status 400。 请注意,如果当前部署的代理引用了目标服务器,则目标服务器删除操作可能会失败。在删除目标服务器之前,请检查并确保当前部署的任何 API 代理均未引用目标服务器。 |
69765558 | API 管理 |
Resource Permissions API 返回 403 |
149545506 | API 管理 |
修复了在 API 中将用户添加到角色时出现的安全问题。 |
131246911 | API 管理 |
对于门户中的开发者电子邮件地址,请启用对较新的域名(例如 *.games、*.asia)的支持
修复了以下问题:某些域名(例如 |
142217645 | API 管理 |
PUT v1/o/{org_name}/apiproducts/{product_name} 不会移除配额 |
162299668 | 管理服务器 |
一个潜在的安全漏洞已得到修复。 |
135856488 | 管理服务器 |
界面运行缓慢 |
139407965 | 管理服务器 |
修复了允许在没有名称的情况下创建 KVM 的问题。 |
112488235 | 管理服务器 |
添加了验证功能,以防止创建名称中包含空格的虚拟主机。虚拟主机名不能使用空格字符。 |
132433193 | 创收管理 |
修复了应用更新问题。 |
152514520 | 创收管理 |
修复了删除实体的 Management API 调用问题。 |
128450374 | API 运行时 |
JWT/JWS 政策应该遵循 IgnoreUnresolvedVariables - 如果未定义变量,则会抛出相应的错误 |
135354517 | API 运行时 |
由于在 BasicAuth 中严格执行“String”数据类型,组织在 Release_190301 中失败 |
131763486 | API 运行时 |
在消息处理器中,应忽略共享数据流的基本路径 |
135972575 | API 运行时 |
Private Cloud 4.19.01 在部署期间显示不同的行为,因为 override=true&delay=300 此修复将包含在面向私有云的未来版本中。 |
141601836 | API 运行时 |
修复日志消息中的主机名 |
116834109 | API 运行时 |
Trace 中的变量值失败、fault.cause 和 fault.name 不正确 |
130653816 | API 运行时 |
运行时流量出现间歇性 404 错误 |
132777537 | API 运行时 |
ExtractVariables 政策因有效 JSONPath 失败 |
133713555 | API 运行时 |
边缘路由器更改日期标题 |
133253435 | API 运行时 |
Apigee 主线程的高 CPU 使用率 |
111553402 | API 运行时 |
路径中含有无效字符的 API 产品在运行时之前不会被捕获 |
126240341 | API 运行时 |
改进了关于 GenerateJWT 政策失败的通用消息“生成失败” |
119854424 | API 运行时 |
具有单个目标服务器的 LoadBalancer 不应在连接失败时变为非活跃状态 |
129275412 | API 运行时 |
将 HTTP 标头添加到后备虚拟主机以进行常规 IP 扫描 |
129351507 | API 运行时 |
当密码包含英文冒号时,BasicAuthentication 政策无法解码 |
65852874 | API 运行时 |
确保 HTTPClient 不会尝试重复使用具有 Connection:close 响应标头的连接 |
138951646 | API 运行时 |
时间限制不适用于 |
139051927 | API 运行时 |
请求处理延迟时间较长 |
132443137 | API 运行时 |
更改了消息处理器行为,以处理未知的内部 x-apigee 标头 |
138310777 | API 运行时 |
共享流部署调用随机返回 504 |
67170148 | API 运行时 |
ServiceCallouts 中的经过时间和 timeTaken 差异 |
124049692 | API 运行时 |
VerifyApiKey 政策中出现 NullPointerException |
135031506 | API 运行时 |
添加了有关意外 JWT 密钥格式的日志消息 |
137312366 | API 运行时 |
按 Content-Type 标头进行内容验证 |
109871907 | API 运行时 |
无响应元素的 ServiceCallout 执行延迟 |
143722867 | API 运行时 |
JWT 必须对 PBKDF2 的迭代次数强制执行可配置的限制 |
144286363 | 混合跟踪记录 |
env.json 中的调试掩码不会遮盖 Apigee Hybrid 中的响应数据 |
147769812 | API 运行时 |
在功能标志中将 OAuth 哈希属性声明为可变 |
149037704 | API 运行时 |
修复了以下问题:分配给 |
148972262 | API 运行时 |
DecodeJWS 以无用的形式将载荷发送到上下文变量 |
116580622 | API 运行时 |
响应不一致 |
149739904 | API 运行时 |
HTTP 标头的数据遮盖应不区分大小写 |
149431545 | API 运行时 |
GenerateJWT and VerifyJWT with SecretKey 不接受除 UTF-8 以外的任何编码 |
155448596 | API 管理补丁 |
缺少默认的 apimonitoringadmin 角色的权限 为 apimonitoringadmin 角色添加了缺少的权限。 |
158592076 | API 管理补丁 |
缺少默认 devadmin 角色的权限 向 devadmin 角色添加了缺少的权限。 |
152856311 | API 管理补丁 |
验证以在虚拟主机创建和更新期间拒绝密钥库和信任库中的 PKCS7 和 DER 证书 在创建或更新虚拟主机期间,系统会强制执行验证,以检查在密钥库别名和信任存储区中添加的证书是否采用 PEM 格式,而不是 PKCS7、DER 等不兼容格式。 |
155478545 | 获利管理 - 补丁 |
电子邮件通知状态更新问题已解决。 |
154121499 | 获利管理 - 补丁 |
|
152356393 | 获利管理 - 补丁 |
为了便于营利公司创建,可以放宽公司名称长度验证要求。 |
138542921 | 获利管理 - 补丁 |
修复了以下问题:如果产品套装中包含多个自定义属性,则费率方案创建失败。 |
150948843 | 获利管理 - 补丁 |
修复了 Monetize |
155443118 | 获利管理 - 补丁 |
|
150948843 | 获利管理 - 补丁 |
修复了 Monetize |