19.03.01 - 适用于公有云的 Apigee Edge 版本说明

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

我们于 2019 年 12 月 3 日(星期二)开始发布此版本的公有云 Apigee Edge 更新。(原始版本于 2019 年 4 月 18 日星期四发布。)

新功能和最新动态

以下是此版本中的新功能和更新。

问题 ID 组件名称 说明
Apigee 于 2019 年 10 月 1 日开始发布以下更新
110995050 API 运行时

负载均衡 - 加强对移除故障服务器的控制能力

为 API 代理配置 负载平衡器时,您可以确定服务器在从负载均衡轮替中移除之前发生多少次响应失败。响应失败表示 Apigee 未收到目标服务器的任何响应。如果发生这种情况,失败计数器会加 1。当 Apigee 确实收到来自目标的响应时,即使响应为 HTTP 错误(例如 500),也会计为目标服务器的响应,并且失败计数器会重置。为了帮助确保不良 HTTP 响应(例如 500)也会递增故障计数器,以尽快使运行状况不佳的服务器退出负载均衡轮替,您可以在负载平衡器配置中添加带有 <ResponseCode> 子元素的新 <ServerUnhealthyResponse> 元素。Edge 还会将包含这些代码的响应计为失败。


<HTTPTargetConnection>
  <LoadBalancer>
    <Algorithm>RoundRobin</Algorithm>
    <Server name="target1" />
    <Server name="target2" />
    <ServerUnhealthyResponse>
        <ResponseCode>500</ResponseCode>
        <ResponseCode>502</ResponseCode>
        <ResponseCode>503</ResponseCode>
    </ServerUnhealthyResponse>
    <MaxFailures>5</MaxFailures>
  </LoadBalancer>
</HTTPTargetConnection>
  
  
130416715 安全性

访问权限控制政策增强功能

AccessControl 政策确定哪些 IP 地址可以调用 API 代理。 此政策中新增了一个元素,赋予 API 开发者在识别要评估的 IP 地址方面的更多控制权。

<IgnoreTrueClientIPHeader>:可选(默认值为 false)。 将此属性设置为 true 时,此政策会忽略 True-Client-IP 标头,并按照您配置的 X-Forwarded-For 评估行为评估 X-Forwarded-For 标头中的 IP 地址。


<AccessControl async="false" continueOnError="false"
    enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>

Apigee 在 2019 年 4 月 18 日发布了以下更新
117558815、
119856499、
110548137、
79526748、
72989449、
70712859、
69049041
API 运行时 JWS 和 JWT
我们新增了支持 JWS 的政策并完善了现有的 JWT 政策。

如需了解详情,请参阅此社区帖子

122610025 API 运行时 允许 RaiseFault 同时设置故障原因和任意变量,如 assignMessage

LiftFault 政策提供了两个新元素,使 FaultRules 处理更简洁且更强大。

  • ShortFaultReason 是一个布尔值,如果设置为 true,则将政策名称放入 fault.reason 变量中。
  • FaultResponse 中提供了 AssignVariable,可让您将故障响应分配给变量,以供 API 代理流中的其他政策使用。
121149811 托管的目标 对托管目标强制执行的限制

正在对托管目标强制执行限制。如需详细了解限制,请参阅限制

117659213 API 运行时 在 AccessControl 政策中参数化 IP 范围

您现在可以使用消息模板变量在 AccessControl 政策中设置 IP 地址和 CIDR 掩码。例如,如果要将 IP 地址和掩码存储在键值对映射 (KVM) 中,您可以从在 API 代理流中设置的变量中检索这些值。这样,您就可以在运行时更轻松地更改 IP 值,而无需更改政策配置。

例如,您不应使用以下命令:

<MatchRule action="DENY">
    <SourceAddress mask="24">198.51.100.1</SourceAddress>
</MatchRule>
     

您可以这样配置此政策,并假设这些值存储在 KVM 中,并且您使用 KeyValueMapOperations 政策检索值,并将这些值分配给如下所示的变量:

<MatchRule action="DENY">
    <SourceAddress mask="{kvm.mask.ref}">{kvm.ip.ref}</SourceAddress>
</MatchRule>
     
113599885 API 监控 API Monitoring 角色

API 监控提供两个角色:API 监控管理员和 API 监控用户(如 Access API 监控中所述)。这些功能已于 2018 年 12 月推出。

132256772 API 运行时 向请求添加了 X-Apigee.Message-Timeout 标头

Edge 现在将标头 X-Apigee.Message-Timeout 添加到每个请求中。此头文件供 Edge 内部使用。请勿依赖 API 代理的 X-Apigee.* 标头中的值,因为这些标头不适合客户使用,并且 Apigee 可能会随时移除或更改这些标头。

78575018 私有云 / OPDK 存在多个网关 Pod 时,跳过管理服务器以跳过网关数据存储区注册

已修复的错误

此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单是否已修复。而不是为所有用户提供详细信息。

问题 ID 组件名称 说明
Apigee 于 2019 年 12 月 3 日开始发布以下修复
安全修复程序。
Apigee 于 2019 年 10 月 29 日开始发布以下修复方案
139381794 管理服务器

处理密钥库删除错误,以确保 API 调用不会失败

Apigee 从 2019 年 10 月 1 日开始发布以下修复
140761319 API 运行时

x-apigee.edge.execution.sense.action 始终设置为 null

139091614 API 运行时

在 ResponseCache 政策中,NIOTheread 会在没有线程池拒绝的情况下执行

131331305 核心服务

Apigee 路由器上的多个日志导出器导致高 CPU 使用率

136690640 API 运行时

特定组织间歇性地出现 404 错误

140948100 API 运行时

部署的共享流在某些消息处理器上不执行

Apigee 在 2019 年 9 月 13 日发布了以下修复方案
132654321 管理服务器 审核日志不显示数据
131246911 管理服务器 对于门户中的开发者电子邮件地址,请启用对较新的域名(例如 *.games、*.asia)的支持
Apigee 在 2019 年 4 月 18 日发布了以下修复方案
123844598 管理服务器 已删除的应用密钥在 24 小时后便无法再次导入
123588156 API 运行时 从响应中移除 Content-Length 标头失败,并返回 304
122732400 API 运行时 Setting api.timeout overrides io.timeout.millis
122545281 API 运行时 JSON 的 DebugSession 数据掩码应考虑 jsonPayload 为数组的情况
122355807 管理服务器 拥有多个角色的用户的权限行为不正确
121393556 API 运行时 x_apigee_fault_code 设置为“org/codehaus/jackson/map/ObjectMapper”
120998548 Edge 界面 错误消息中的拼写错误:证书无效或不受信任
120990929 API 运行时 来自 Nginx/Apigee-Router 的 HTTP-413 响应显示服务器类型
120799489 API 运行时 将 httpClient 与异步 JavaScript 回调 httpComplete() 搭配使用时,调试会话(跟踪记录)输出会静音
120794339 API 运行时 组织偏移的 MP
120277011 管理服务器 需要输入验证:如果目标服务器主机名为 **,则无法部署代理
119976417 API 监控 API Monitoring 显示的代理响应时间较长,而 Analytics(分析)显示的目标响应时间较长
119947481 API 运行时 在例外情况下,要遮盖的载荷以纯文本形式记录
119877164 私有云 / OPDK 路由器出现错误,消息处理器在启用 TLS 的情况下进入离线状态

此修复将包含在下一个私有云 Edge 版本中。

119816218 API 运行时 如果 Expiration 标头解析为 0 或负数,则响应缓存会忽略该标头
119770242 API 运行时 路由器到 MP 的通信失败导致完全停机:PostClientFlow 中的错误导致无限循环
119443145 管理服务器 重命名并重新部署 ProxyEndpoint 时,API 代理会返回 404
119260281 API 运行时 \"无法解析为字符串 3000.0\"日志错误
118743407 管理服务器 Apigee 代理部署时长
118447966 API 运行时 MP 版本 180608_07 中的 JavaScript 宣传信息出错
117549719 API 运行时 请求 URI 与代理基路径不匹配
117219520 API 运行时 MessageLogging:Syslog 日志记录器默认使用错误的日期格式,错误地显示毫秒
117116435 API 运行时 JavaScript 文件出现间歇性错误
117091520 API 运行时 在消息处理器版本 18.06.08 发布后,JavaCallouts 失败
116165318 API 运行时 同时部署同一软件包会导致 RepositoryException
116055025 Configstore 服务 消息处理器在启动后缺少虚拟主机和应用
115614498 API 运行时 需要在 OPDK 中支持 ILB

此修复将包含在下一个私有云 Edge 版本中。

113972537 API 运行时 多个 P1 - 通过 Trireme 代理中的 Node.js 代码引发了 NullPointerException - 500 Internal Server Error
113904969 Apigee 支持 与删除演示组织中的 API 代理相关的问题
113554802 API 运行时 验证 SAML 断言失败并显示 NullPointerException
113315737 管理服务器 由于 ZooKeeper 中缺少部署记录,代理部署失败
112767195 API 运行时 访问 KVM 政策时发生间歇性 DataStore 错误
112162179 API 运行时 缓存 JavaScript 对象时如果未将其字符串化,可能会导致死锁
111860576 API 运行时 配额政策中缺少错误
111671525 托管的目标 来自托管目标的非成功响应代码会触发代理中的故障流
111523933 扩展(连接器) ExtensionCallout 政策缓存问题
111420263 API 运行时 MessageLogging 中的 ConcurrentModification 异常
110843526 管理服务器 用于创建/更新流钩子的管理 API 应验证共享流
110805739 API 运行时 当 Reuserefreshtoken 为 true 且未明确设置刷新令牌过期时间时,CPS 流程中 TTL 未设为 -1
110429629 API 运行时 BasicAuthentication 政策会将 request.headers.Authorization 变量发送到 DebugSession
110425503 API 运行时 Nginx 重新加载会导致 MP 可用性问题
110311540 API 运行时 MP 关闭时出现的 NPE 问题
110161455 API 运行时 AccessEntity 应使用“按应用名称提取”方法,而不是提取 CPS 组织的所有应用
90695522 API 运行时 context.proxyRequest.asForm 生成 java.lang.ArrayIndexOutOfBoundsException: 1
79734096 管理服务器 代理的审核日志不再按代理进行过滤
78105568 管理服务器 更新已部署的共享流后,共享流部署未显示在 /org/{org}/sharedflows/{sharedflows}/deployments Management API 调用中
77528868 三重 Trireme 回归:脚本 server.js 退出,状态代码为 -1:未找到属性 0
73766568 API 运行时 将 170213_02 升级到 171117_01,导致使用 Trireme/节点目标的代理的延迟时间大幅增加
72710481 API 运行时 CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 API 运行时 在路由器关闭期间处理 NPE
68833699 API 运行时 有关 API 代理的信息有时不会从 API 分类树中移除
67377575 托管的目标 分析记录与通过 Node.js 代理发送给客户的内容不一致
112481174 托管的目标 不会因 Turbo 错误而导致代理取消部署失败
117171470 托管的目标 修复无效的 app.yaml 错误消息
67169139 API 运行时 MessageLogging 政策 syslog 时间戳格式不正确
67165418 API 运行时 出现许可错误,导致使用的消息处理器数量少于授权许可的数量

此修复将包含在下一个私有云 Edge 版本中。

67165195 API 运行时 VerifySAMLAssertion 不会验证嵌入已签名响应中的断言中的签名
66214414 API 运行时 从共享流引用时,currentstep.flowstate 变量始终返回“SHARED_FLOW”
65731656 API 运行时 Threat Protection API 对于同一请求间歇性失败
133197060 API 运行时 从 MP 到目标的网关超时时长为 57
110535186 API 运行时 ServiceCallout 没有 Response 元素且 HTTPTargetConnection 指向代理:SOMETIMES no call
132443137 API 运行时 将消息处理器行为更改为忽略以 X-Apigee-* 开头的标头。因此,您必须重构使用 X-Apigee-* 头文件的所有代码,并将这些头文件替换为受支持的头文件。
125709964 API 运行时 使缓存失效,同时 purgeChildEntries 无法正常运行