您正在查看 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)下也加 1,以便尽快让运行状况不佳的服务器停止进行负载平衡轮替,您可以将带有 <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 政策增强功能 AccessControl 政策用于确定哪些 IP 地址可以调用 API 代理。 该政策中的一个新元素可让 API 开发者更好地控制要评估的 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 中一样)
RaiseFault 政策中新增了两个元素,可使 FaultRules 处理更简洁、更强大。
|
| 121149811 | 托管目标 | 针对托管目标强制执行的限制
现在,系统会强制执行托管目标的限制。如需了解限额详情,请参阅限额。 |
| 117659213 | API 运行时 | 在 AccessControl 政策中对 IP 范围进行参数化
您现在可以使用消息模板变量在 AccessControl 政策中设置 IP 地址和 CIDR 掩码。例如,如果您想在键值对映射 (KVM) 中存储 IP 地址和掩码,可以从您在 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 Monitoring 提供了两个角色:API Monitoring Administrator 和 API Monitoring User,如访问 API Monitoring 中所述。这些功能已于 2018 年 12 月推出。 |
| 132256772 | API 运行时 | 向请求添加了 X-Apigee.Message-Timeout 标头
现在,Edge 会将标头 |
| 78575018 | 私有云 / OPDK | 当有多个网关 pod 时,跳过管理服务器以跳过网关数据存储区注册 |
已修复的 bug
此版本中修复了以下 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 运行时 | 设置 api.timeout 会替换 io.timeout.millis |
| 122545281 | API 运行时 | JSON 的 DebugSession 数据掩码应考虑 jsonPayload 为数组的情况 |
| 122355807 | 管理服务器 | 具有多个角色的用户的权限行为不正确 |
| 121393556 | API 运行时 | x_apigee_fault_code 设置为“org/codehaus/jackson/map/ObjectMapper” |
| 120998548 | Edge 界面 | 错误消息中的错字:Cert is invalid or cannot be not be trusted |
| 120990929 | API 运行时 | 来自 Nginx/Apigee-Router 的 HTTP-413 响应会泄露服务器类型 |
| 120799489 | API 运行时 | 将 httpClient 与异步 JavaScript 回调 httpComplete() 搭配使用时,debugsession(跟踪)输出处于静音状态 |
| 120794339 | API 运行时 | 组织的漂移 MP |
| 120277011 | 管理服务器 | 需要输入验证:如果目标服务器主机名包含 ** |
| 119976417 | API 监控 | API Monitoring 显示代理响应时间过长,而 Google Analytics 显示目标响应时间过长 |
| 119947481 | API 运行时 | 在异常情况下,要屏蔽的载荷会以纯文本形式记录 |
| 119877164 | 私有云 / OPDK | 路由器生成错误,消息处理器在启用 TLS 的情况下离线
此修复将包含在下一个 Edge for Private Cloud 版本中。 |
| 119816218 | API 运行时 | 如果“Expires”标头解析为 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 发布后,JavaCallout 失败 |
| 116165318 | API 运行时 | 并发部署同一软件包会导致 RepositoryException |
| 116055025 | Configstore 服务 | 消息处理器在启动后缺少虚拟主机和应用 |
| 115614498 | API 运行时 | 需要 OPDK 中的 ILB 支持
此修复将包含在下一个 Edge for Private Cloud 版本中。 |
| 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 运行时 | 在 CPS 流程中,如果 Reuserefreshtoken 为 true 且未明确设置刷新令牌过期时间,则 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 generates java.lang.ArrayIndexOutOfBoundsException: 1 |
| 79734096 | 管理服务器 | 代理的审核日志不再按代理进行过滤 |
| 78105568 | 管理服务器 | 更新已部署的共享流后,共享流部署不会显示在 /org/{org}/sharedflows/{sharedflow}/deployments 管理 API 调用中 |
| 77528868 | 三层桨战船 | Trireme 回归:脚本 server.js 已退出,状态代码为 -1:未找到属性 0 |
| 73766568 | API 运行时 | 将 170213_02 升级到 171117_01 导致具有 Trireme/Node 目标的代理的延迟时间大幅增加 |
| 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 for Private Cloud 版本中。 |
| 67165195 | API 运行时 | ValidateSAMLAssertion 不验证嵌入在签名响应中的断言的签名 |
| 66214414 | API 运行时 | 从共享流引用时,currentstep.flowstate 变量始终返回“SHARED_FLOW” |
| 65731656 | API 运行时 | 威胁防护 API 针对同一请求间歇性失败 |
| 133197060 | API 运行时 | 从 MP 到目标获取 57 网关超时 |
| 110535186 | API 运行时 | 没有 Response 元素的 ServiceCallout 和指向代理的 HTTPTargetConnection:有时不进行调用 |
| 132443137 | API 运行时 | 更改消息处理器的行为,以忽略以 X-Apigee-* 开头的标头。因此,您必须重构所有使用 X-Apigee-* 标头的代码,并将这些标头替换为受支持的标头。
|
| 125709964 | API 运行时 | 使用 purgeChildEntries 的 invalidateCache 未按预期工作 |