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

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

<ph type="x-smartling-placeholder">

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

新功能和更新

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

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

负载均衡 - 更好地控制移除故障服务器

在配置 API 代理的负载平衡器,您可以确定 在从负载均衡轮替中移除服务器之前发生故障。响应失败 表示 Apigee 不会收到目标服务器的任何响应。出现这种情况时, 计数器按 1 递增。当 Apigee 收到目标的响应时,即使 响应是一个 HTTP 错误(例如 500),计为来自目标服务器的响应, 并且会重置失败计数器。为了确保错误的 HTTP 响应(例如 500) 增加失败计数器,将运行状况不佳的服务器从负载均衡轮替中移除, 您可以添加新的<ServerUnhealthyResponse>元素 在负载平衡器配置中添加 <ResponseCode> 个子元素。 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 政策增强功能

AccessControl 政策确定哪些 IP 地址可以调用 API 代理。 该政策中的一个新元素使 API 开发者可以在识别哪个 IP 地址方面拥有更大的控制权 要评估的地址。

<IgnoreTrueClientIPHeader>:可选(默认值为 false)。 如果此政策设为 true,此政策会忽略 True-Client-IP 标头和 评估 X-Forwarded-For 标头中的 IP 地址,紧跟在 <ph type="x-smartling-placeholder"></ph> 您配置的 X-Forwarded-For 评估行为

<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 处理方式更简洁,功能更强大。

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

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

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

您现在可以使用消息模板变量在 AccessControl 政策。例如,如果您想存储 键值对映射 (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,如 Access API Monitoring 中所述。这些数据已于 2018 年 12 月推出。

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

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

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 界面 错误消息中有拼写错误:证书无效或不可信
120990929 API 运行时 来自 Nginx/Apigee-Router 的 HTTP-413 响应显示服务器类型
120799489 API 运行时 将 httpClient 与异步 JavaScript 回调 httpComplete() 配合使用时,调试会话(跟踪)输出会被静音
120794339 API 运行时 移位组织的国会议员
120277011 管理服务器 需要输入验证:如果目标服务器主机名具有 **,则无法部署代理
119976417 API 监控 API 监控显示代理响应时间较长,而 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 运行时 \"无法解析为 string3000.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 for Private Cloud 版本中。

113972537 API 运行时 多个 P1 - Trireme 代理中的 Node.js 代码引发 NullPointerException - 500 内部服务器错误
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/{sharedflow}/deployments Management 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 运行时 VerifySAMLAssertion 不会验证已签名响应中嵌入的断言上的签名
66214414 API 运行时 currentstep.flowstate 变量始终返回“SHARED_FLOW”从共享流引用时
65731656 API 运行时 对于同一请求,Threat Protection API 间歇性失败
133197060 API 运行时 从 MP 到目标的网关超时时间为 57
110535186 API 运行时 没有 Response 元素且 HTTPTargetConnection 指向的 ServiceCallout 代理:SOMETIMES 无通话
132443137 API 运行时 将消息处理器行为更改为忽略以 X-Apigee-*。因此,您必须重构所有使用 X-Apigee-* 头文件,并将这些头文件替换为受支持的头文件。
125709964 API 运行时 使缓存失效,而 purgeChildEntries 未按预期运行