4.15.07.00 - 适用于私有云的 Apigee Edge 版本说明

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

2015 年 9 月 8 日(星期二),我们发布了 Apigee Edge for Private Cloud 的重大功能版本。

自上一个 Edge Private Cloud 季度版本 (4.15.04.00) 以来,已发布以下版本,并且这些版本包含在此季度版本中:

哪些 Edge 版本可以升级到 4.15.07.00

根据您当前的 Edge 版本,您可以执行以下任一操作:

  • 直接升级到 4.15.07.00
  • 逐步升级,也就是说,您必须先从当前版本升级到另一个 Edge 版本,然后再升级到 4.15.07.00。

如需了解详情,请参阅哪些 Edge for Private Cloud 版本可以升级到 4.15.07.00

从 4.15.01.x 版或更早版本升级之前

在升级之前,请确保您已在每个 Cassandra 节点上升级 Cassandra SSTable:
  1. 检查 Cassandra SSTable 版本:
    1. 将目录更改为 /<install-root>/apigee4/data/cassandra/data
    2. 运行 find 命令,
      > find . -name *-ic-*
      如果您运行的是 Cassandra 1.2 SSTable,结果应返回一组 .db 文件。
    3. 运行以下 find 命令:
      > find . -name *-hf-*
      结果应为空,这意味着没有采用 hf 格式的 .db 文件。如果您没有看到任何 hf 格式的文件,则说明您已完成此步骤,可以升级到 4.15.07.00。

      hf 格式适用于 Cassandra 1.0 SSTable。如果您有任何采用 hf 格式的 *.db 文件,则必须按照此过程的其余部分所述升级 SSTable。
  2. 如果您发现任何 hf 格式的 *.db 文件,请在每个 Cassandra 节点上运行以下命令来升级 SSTable,直到所有 Cassandra 节点都已升级:
    > /<install-root>/apigee4/share/apache-cassandra/bin/nodetool -h localhost upgradesstables -a
  3. 重复第 1 步,检查所有 *.db 文件是否都采用 Cassandra 1.2 版本的 ic 格式。
  4. 在 Edge 安装中的每个 Cassandra 节点上重复执行第 1 步到第 3 步。
  5. 升级到 Edge 4.15.07.00。
  6. 升级到 4.15.07.00 后,检查 *.db 文件,确保它们都已升级到 C* 2.0 样式的 sstable:
    > cd /<install-root>/apigee4/data/cassandra/data
    > find . -name *-jb-*

    如果您运行的是 Cassandra 2.0,此命令应返回一组 .db 文件。

新功能和增强功能

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

安装和升级

选择性组件升级和卸载

现在,您可以使用 apigee-upgrade.sh 和 apigee-uninstall.sh 脚本选择要升级或卸载的 Edge 组件。以前,它会升级或卸载节点上的所有组件。 (OPDK-1377、OPDK-1175)

升级回滚

如果 apigee-upgrade.sh 在升级期间失败,您现在可以使用 apigee-rollback.sh 脚本回滚升级。解决所有升级问题后,您可以重试升级。 (OPDK-1275)

缩短的安装程序脚本选项

安装脚本不再采用长格式的选项,例如 --help。现在,它们仅接受单字母选项,例如 -h。(OPDK-1356)

SmartDocs 安装

使用 setup-smartdocs.sh 脚本安装 SmartDocs 时,系统会提示您输入组织、环境和虚拟主机,以确保 SmartDocs 安装在预期位置。以前,这些值是在脚本中硬编码的。(OPDK-1310)

在没有提示的情况下运行 update-cass-pwd-in-config.sh

如果您设置了 ENABLE_CASS_AUTH、CASS_USERNAME 和 CASS_PASSWORD 环境变量,则 update-cass-pwd-in-config.sh 脚本可以在没有提示的情况下运行。(OPDK-1309)

Edge 平台

以下是此版本中包含的新 Edge 平台功能。

Edge Private Cloud 支持的 OpenJDK 1.7

此版本的 Edge 支持 Oracle JDK 1.7 和 OpenJDK 7,并移除了对 JDK 1.6 的支持。 (OPDK-1187)

操作系统支持

Apigee Edge for Private Cloud 扩展了其操作系统支持,现在支持 Red Hat Enterprise Linux 6.6 和 7.0(64 位)、CentOS 6.5、6.6 和 7.0(64 位)以及 Oracle Linux 6.5。

OPDK 15.07 中包含的 Cassandra 2.0.15

此版本安装了 Cassandra 2.0.15。如果您要升级到之前的版本,则 Cassandra 版本将会更新。(OPDK-1197)

针对 OAuth 令牌哈希处理的 SHA2 支持

为了在发生数据库安全问题时更好地保护 OAuth 令牌,Edge 支持使用 SHA2 算法(除了 SHA1 之外)对 OAuth 令牌进行哈希处理。借助新的组织级媒体资源,您可以为新令牌启用和配置哈希处理,还可以为在此新功能推出之前已有的任何令牌保留旧版哈希处理。在之前的 Edge for Private Cloud 版本中,keymanagement.properties 文件(位于管理服务器和消息处理器上)中名为 hash.oauth.tokens.enabled 的属性可用于自动对 OAuth 令牌进行 SHA1 哈希处理。此属性现已弃用。

如果您之前使用 hash.oauth.tokens.enabled 属性启用了 SHA1 哈希,则此版本的升级脚本会自动为您生成新的组织级属性。如需在升级后进行验证,请以系统管理员身份使用以下 API 执行 GET:https://{host}:{port}/v1/o/{your_org}。

  • 如需了解如何使用新属性在组织中启用令牌哈希处理,请参阅请求访问令牌主题中的“对数据库中的令牌进行哈希处理”。
  • 如需了解如何批量哈希处理现有令牌,请参阅 Edge for Private Cloud 运营指南。(APIRT-1389)

日志文件的扁平目录结构

您可以在 message-logging.properties 文件中将新的 enable.flat.directory.structure 属性设置为 true,以配置 Edge 将日志文件存储在扁平的目录结构中。如需了解详情,请参阅消息记录政策。 (APIRT-1394)

环境缓存性能

为了更好地管理和利用内存中缓存,我们已弃用环境缓存资源中的“内存中的最大元素数”设置。所有缓存资源(包括默认缓存)中存在的元素总数取决于分配给缓存的总内存。默认情况下,为给定消息处理器的内存中缓存分配的总内存是可用总内存的 40%,具体取决于消息处理器 cache.properties 文件中的缓存属性设置。只有在缓存内存不足或元素过期时,才会从内存中缓存逐出元素。

如需恢复为使用“内存中的最大元素数”属性进行缓存管理的旧行为,请在 cache.properties 文件中设置属性 overrideMaxElementsInCacheResource=false。(APIRT-1140)


API 服务

以下是此版本中包含的新 API 服务功能。

将新版代理编辑器设为默认

在管理界面中,新版 API 代理编辑器默认处于启用状态。新版编辑器在易用性方面进行了多项改进,包括在“概览”页面上提供更全面的条件流和端点视图,在“开发”页面上提供所有配置,以更直观的方式添加条件流、端点和政策,提供更完整的 XML 视图(而非小代码段),提供可抓取文件名和文本的搜索功能,等等。(MGMT-2279)

新的“删除 OAuth 2.0 信息”政策

借助新的“删除 OAuth v2.0 信息”政策,您可以删除 OAuth v2 访问令牌和授权代码。此政策取代了之前由管理 API 提供的功能。如需了解详情,请参阅删除 OAuthV2 信息政策。(MGMT-2257)

新增了“删除 OAuth v1.0 信息”政策

借助新的“删除 OAuth v1.0 信息”政策,您可以删除 OAuth v1.0 请求令牌、访问令牌和验证码。此政策取代了之前由管理 API 提供的功能。如需了解详情,请参阅删除 OAuth V1 信息政策。 (APIRT-1351)

AccessControl 政策

我们增强了访问控制政策,以便在 X-FORWARDED-FOR HTTP 标头中包含 IP 地址时,能够更精细地评估允许名单和拒绝名单中的 IP 地址。

如果标头中启用了多 IP 地址检查(请与支持团队联系以设置 feature.enableMultipleXForwardCheckForACL),则政策中的新 <ValidateBasedOn> 元素可让您检查标头中的第一个 IP、最后一个 IP 或所有 IP。如需了解详情,请参阅访问权限控制政策

AccessEntity 政策中的新实体

Access Entity 政策可提供对以下新实体的访问权限:consumerkey-scopes、authorizationcode、requesttoken 和 verifier。如需了解详情,请参阅 Access Entity 政策

Statistics Collector 政策:自动将统计信息名称转换为小写

在 API 代理编辑器(“开发”页面 >“工具”>“自定义分析集合”)中创建自定义分析集合时,收集器变量(统计信息)“名称”必须采用小写形式。 如果您输入的是包含大写字母的名称,该工具会自动将 Statistics Collector 政策中的统计信息名称转换为小写。(MGMT-740)

移除了 API 代理编辑器中的经典版跟踪记录

API 代理编辑器中的最新版 Trace 功能已从 Beta 版升级为正式版。您将无法再通过“访问旧版轨迹”链接访问“旧版轨迹”。

通过管理界面“帮助”菜单访问 Apigee 社区

您可以通过管理界面的“帮助”菜单访问 Apigee 社区。

管理界面中的错误消息

以下是管理界面中的错误消息增强功能:

  • 用于在整个登录会话期间(除非您关闭了这些消息)在界面上对所有错误消息进行分组和显示的管理界面。在此更新中,当您离开显示错误消息的页面时,系统会自动清除这些错误消息。(MGMT-2254)
  • 管理界面不再抑制重复的错误消息。(MGMT-2242)

界面性能和错误增强功能

对管理界面的不同方面进行了常规增强,包括网页显示性能和错误消息清理。

在管理界面(“管理”>“组织用户”)的“组织用户”页面上,角色名称现在带有超链接,可让您快速前往角色页面。(MGMT-1055)

消息流中的新目标变量

消息流中的新变量可为目标端点和目标服务器提供更完整的网址信息:

  • TargetEndpoint:request.url 取代了 target.basepath.with.query
  • TargetServer:loadbalancing.targetserver 取代了 targetserver.name。 此外,只有在 TargetEndpoint 的 HTTPTargetConnection <LoadBalancer> 元素中使用 <Path> 元素时,才会填充 target.basepath

服务器名称指示 (SNI) 支持

Edge 支持使用服务器名称指示 (SNI) 南向(从消息处理器到目标端点)。如果您想使用 SNI,请与 Apigee Edge 支持团队联系。

需要 Java 1.7

借助 SNI(TLS/SSL 的扩展),多个 HTTPS 目标可以共用同一个 IP 地址和端口,而无需所有这些目标都使用同一证书。

无需进行任何特定于 Edge 的配置。如果您的环境已配置为支持南向 SNI(边缘云默认支持),则 Edge 支持该功能。

Edge 会自动从请求网址中提取主机名,并将其添加到 SSL 握手请求中。例如,如果目标主机是 https://example.com/request/path,则 Edge 会添加 server_name 扩展程序,如下所示:

如需详细了解 SNI,请参阅 http://en.wikipedia.org/wiki/Server_Name_Indication

SSL 证书详细信息中的“签名算法”

SSL 证书详情中新增了“签名算法”字段,可在管理界面(管理 > SSL 证书)和管理 API(从密钥库或信任库获取证书详情)中查看。该字段会显示“sha1WithRSAEncryption”或“sha256WithRSAEncryption”,具体取决于用于生成证书的哈希算法的类型。

显示即将过期的 SSL 证书

管理界面中的“SSL 证书”页面(管理 > SSL 证书)会显示 SSL 证书在 10 天、15 天、30 天或 90 天内过期,具体取决于您在新的“过期”下拉字段中的选择。

威胁防范错误配置

默认情况下,如果消息未通过 JSON 或 XML 威胁防范限制,Edge 会抛出 HTTP 500 内部服务器错误状态代码和 ExecutionFailed 错误。您可以使用新的组织级属性更改错误行为。将组织属性 features.isPolicyHttpStatusEnabled 设置为 true 时,将发生以下行为:

  • 请求:将威胁防范政策附加到任何请求流后,无效消息将返回 400 状态代码,以及对应的政策错误消息。
  • 响应:将威胁防范政策附加到任何响应流后,无效消息仍会返回 500 状态代码,并会抛出其中一个对应的政策错误消息(而不仅仅是 ExecutionFailed)。

Cloud 客户必须联系 Apigee Edge 支持团队才能设置组织属性。Edge Private Cloud 客户将在下一个 Private Cloud 季度版本中获得此功能。

更新了端点、代理和其他实体的架构

我们已更新非政策实体的参考架构,例如 TargetEndpoint、ProxyEndpoint、APIProxy 等等。请参阅 https://github.com/apigee/api-platform-samples/tree/master/schemas。 (APIRT-1249)


开发者服务

以下是此版本中包含的开发者服务新功能。

SmartDocs 正式版

SmartDocs 即将从 Beta 版过渡到正式版。更新和新功能包括:

  • 支持 Swagger 2.0,包括通过文件或网址导入,还支持自定义命名的安全对象。
  • 改进了生成 SmartDocs 的模板中的视觉设计。
  • 开发者门户中的可用性和工作流增强功能,可通过 Drupal 中的“内容”>“SmartDocs”菜单访问。
  • 之前称为“自定义令牌”的身份验证现在称为“API 密钥”。
  • 在修订版本级别定义的身份验证“安全”对象。
  • 在模板级配置客户端身份验证。新修订版本不再重置任何预配置的 SmartDocs 客户端凭据。

如需了解更多功能说明,请参阅这篇博文

如需查看 SmartDocs 文档,请参阅使用 SmartDocs 记录 API

管理界面中显示的开发者应用名称

Edge 中的开发者应用既有不会更改的内部名称,也有可以更改的显示名称。在管理界面中的“开发者应用”页面(“发布”>“开发者应用”>“应用名称”)上,应用内部“名称”会与“显示名称”一起显示,从而更轻松地通过内部名称直观地识别应用,以便进行问题排查和 API 管理。


分析服务

以下是此版本中包含的新版 Analytics 服务功能。

保留的数据的时间限制

使用管理界面或 API 生成分析报告时,默认情况下无法访问从当前日期起 6 个月之前的数据。如果您需要访问 6 个月之前的数据,请与 Apigee Edge 支持团队联系。

管理界面中将移除自定义报告的经典版

管理界面中不再提供可选的经典版自定义分析报告。

“开发者互动”widget 的效果

主分析信息中心(“开发者互动”部分)中的漏斗图 widget 经过增强,可提供更好的性能。


创收

以下是此版本中包含的新创收功能。

费率方案电子邮件通知

借助新的“费率方案”电子邮件通知类型,您可以在开发者购买的按量分级或捆绑式费率方案达到特定交易或金额限制时通知他们。如需了解详情,请参阅使用通知模板设置通知

同步定期费用和汇总基准周期

在费率方案中,可能会有两个不同的有效时间段:

  • 在费率方案的“费用”标签页中配置的经常性费用周期,用于确定向开发者收取经常性费用的时间。
  • 在“按量分档”或“套装”方案的费率卡上定义的汇总基准周期,用于确定开发者套装使用量的重置时间。

这两个时间段现在已同步。如果费率方案中同时存在非零的周期性费用以及“按量分档”或“套装”费率卡,则周期性费用周期将同时用于这两者。例如,如果存在按月执行的周期性费用,则费率卡套餐也会按月重置(默认情况下是在月初)。

如果不存在周期性费用,则根据费率卡上定义的“汇总依据”重置套装。例如,如果开发者在当月的 19 日开始使用价目表,并且汇总依据为“每月”,那么套装使用量会在 19 日之后的一个月重置。

“汇总依据”已被弃用,并将在未来的创收版本中移除。如需了解详情,请参阅指定费率卡方案详细信息

总结性收入报告中的自定义属性

借助交易记录政策,您可以选择性地捕获交易中的自定义属性数据,并且现在可以将这些自定义交易属性纳入汇总收入报告中。通过向组织添加 MINT.SUMMARY_CUSTOM_ATTRIBUTES 属性,您可以指明哪些自定义属性会添加到数据库表中以供报告使用。

Apigee Edge for Private Cloud 客户可以使用以下 API 调用和系统管理员凭据设置该标志。

curl -u email:password -X PUT -H "Content-type:application/xml" http://host:8080/v1/o/myorg -d \
"<Organization type="trial" name="MyOrganization">
    <Properties>
        <Property name="features.isMonetizationEnabled">true</Property>
        <Property name="MINT.SUMMARY_CUSTOM_ATTRIBUTES">[&quot;my_attribute_1&quot;,&quot;my_attribute_2&quot;]</Property>
        <Property name="features.topLevelDevelopersAreCompanies">false</Property>
    </Properties>
</Organization>"

请注意,API 调用中的自定义属性数组已经过网址编码。


SmartDocs 升级流程

如果您在 Beta 版期间已在使用 SmartDocs,那么正式版中的新功能和新功能需要您在开发者门户中升级 SmartDocs。

您在开发者门户中已发布的任何 SmartDocs 页面都将继续正常运行,但您必须先完成更新流程,然后才能编辑或发布对现有页面或新页面的任何更改。

请注意,虽然您可以在开发者门户中呈现和发布 SmartDocs,但 SmartDocs 是根据 Apigee 的 Edge API 管理服务中的 API 模型生成的。您在 Edge 中对 API 模型所做的任何更改都将在所有 Pantheon 环境中保持一致(类似于开发者在所有 Pantheon 环境中保持一致)。

从 SmartDocs Beta 版升级到正式版

  1. 在 Pantheon 的开发测试环境中更新并测试 15.05.27 版本。
  2. 创建新模型以替换您一直在使用的任何现有 API 模型。
    • 如果您之前导入过 Swagger 或 WADL 文档,请将它们再次导入到新的修订版本中。
    • 如果您一直通过 SmartDocs 模块维护 API 模型,请导出为 SmartDocs JSON,然后使用文件附件导入到新模型中。
  3. 设置模型修订版本的安全属性。在内容 > SmartDocs > 模型页面上,选择安全设置
  4. 点击“操作”列中的设置,在模型设置页面(内容 > SmartDocs)中检查所有预配置的身份验证。
  5. 更新所有自定义模板,以使用 CSS 和 JS 资源的版本 6,并进行更改以反映所有新对象名称,例如 authSchemes 和 apiSchema。如需了解如何更新 SmartDocs 模板,请参阅使用 SmartDocs 记录 API
  6. 重新渲染并发布模型修订版本。
  7. 验证新文档后,将您的生产门户更新到 15.05.27 版本。

如果您是 Edge 企业客户,并且对升级过程有疑问或疑虑,请发送电子邮件至 marsh@apigee.com 和 cnovak@apigee.com。否则,请使用 Apigee 社区以获得最佳解答。


未来功能变更和增强

本部分预览了未来预期会发生的功能变更和增强:

更改为 Response Cache 政策行为

在未来的版本中(待定),响应缓存政策的 <ExcludeErrorResponse> 元素的默认行为将发生变化。

当前行为:响应缓存政策中的 <ExcludeErrorResponse> 元素默认值为 false。这意味着,默认情况下,具有任何可能 HTTP 状态代码(包括 3xx)的响应都会被 Response Cache 政策缓存。

未来行为:响应缓存政策中的 <ExcludeErrorResponse> 元素将默认设置为 true。这意味着,默认情况下,系统只会缓存 HTTP 状态代码为 200 到 205 的响应。如需覆盖此行为并缓存所有状态代码的响应,您需要将 <ExcludeErrorResponse> 元素明确设置为 true。

当前解决方法: 对于 Private Cloud 4.15.07.00 及更早版本,如果您只想缓存状态代码为 200 到 205 的响应,则必须将元素 <ExcludeErrorResponse> 明确设置为 true。


已修复 Bug

此版本中修复了以下 bug。

问题 ID 说明
OPDK-1521 密码加密问题
OPDK-1201 无法恢复界面数据
OPDK-1112 自定义 LDAP 密码政策未应用于 Apigee 管理员用户
OPDK-1097 OPDK 升级期间出现键空间异常
OPDK-1068 能够在安装失败时更改管理员密码
OPDK-1053 Zookeeper 以根用户身份运行
OPDK-967 使用 set-autostart.sh 将 OpenLDAP 设置为自动启动时,all-status.sh 会将其报告为 dead
OPDK-905 Smartdocs prod 已在群组 axgroup001 中注册
OPDK-899 初始配置期间出错
OPDK-847 在初始配置期间创建的用户未收到用于重置密码的电子邮件
OPDK-817 init.d 脚本抛出错误
OPDK-815 ax-purge.sh 脚本需要清除抽样表
MGMT-2246 管理界面中未正确显示创建自定义报告页面
MGMT-2235 对于即将过期的 SSL 证书,过期相对时间可能会被误解为四舍五入
对于即将过期的 SSL 证书,当证书在 90 天或更短时间内过期时,过期日期的相对时间始终以天为单位显示,而不是向上舍入为月。
MGMT-2193 修改 API 时的加载微调器
MGMT-2173 Trace 界面不允许使用合法的网址
Trace 界面现在允许您发送包含嵌套查询参数的查询参数值的请求。
MGMT-2162 JavaScript 编译问题
MGMT-2124 在界面中保存权限时,客户角色的权限会被重置
MGMT-2114 MessageLogging 政策中的无效 Syslog IP 应在部署期间抛出适当的错误
MGMT-2067 轨迹:如果 API 代理修订版本部署在 2 个环境中,选择修订版本和环境无法正常运行
MGMT-2061 “忘记了密码”功能应仅向注册用户发送电子邮件
管理界面登录页面上的“忘记了密码?”链接仅向已注册的 Apigee 用户发送电子邮件。
MGMT-2048 具有自定义角色(将部署权限限制为一个环境)的用户可以在其他环境中进行部署
MGMT-2041 从默认附件模板中移除了 FaultRules 元素
在创建 API 代理或添加政策时,系统不再自动添加 FaultRules 元素,该元素未在政策或 API 代理步骤中使用。
MGMT-2034 提取 WSDL 返回失败:“提取 WSDL 错误:处理 WSDL 时出错。”
MGMT-1986 添加开发者时出现界面错误
MGMT-1983 获取 OAuth 2.0 授权代码 API 返回错误状态
MGMT-1962 使用强密码登录管理界面时出错
使用某些特殊字符(例如百分号)登录界面时,不再会失败。
MGMT-1947 管理界面中不直观的角色
如果用户没有创建或修改交易记录政策的权限,则用于创建和修改交易记录政策的界面按钮现在处于停用状态。
MGMT-1899 保存产品设置后资源路径被删除
在修改 API 产品时,如果用户双击“保存”按钮,可能会导致产品的资源路径被删除。此问题已解决。
MGMT-1894 “开发者应用”页面始终未能完成加载(针对“开发者”列)
MGMT-1882 从 WSDL 创建的新 API 代理仅显示最后一个参数的详细信息
MGMT-1878 如果将多个修订版本部署到某个环境,Trace 只会显示其中一个修订版本
MGMT-1872 无法下载自定义报告
MGMT-1863 无法在管理界面中查看 Node.js 日志
MGMT-1843 API 代理无法打开
MGMT-1833 系统管理员用户不应在 OPDK 的界面中看到更改密码的选项
MGMT-1825 跨站脚本攻击 (XSS) bug
MGMT-1824 导入扩展名为 .xml 的 WSDL 文件时出现“获取 WSDL”错误
MGMT-1812 在导入期间添加 TargetEndpoint 验证
与 ProxyEndpoint 类似,在 API 代理导入期间,系统将验证 TargetEndpoint 是否具有正确的架构以及条件中使用的表达式是否正确。
MGMT-1804 Node.js API 在某些情况下发送无效 JSON
如果 JSON 数据包含无效字符,Node.js 日志界面过去会显示未格式化的日志。此问题已在此版本中修复,界面现在会显示格式良好的 node.js 日志。
MGMT-1802 密码重置网址 #118
如果管理界面位于 SSL 终止服务器后面,则管理界面现在会正确生成密码重置电子邮件,其中包含指向 https 网址的链接,而不是指向 http 网址的链接。
MGMT-1799 界面安全漏洞在跟踪记录中发送请求
MGMT-1777 无法添加电子邮件地址的顶级网域为 .acn 的用户
MGMT-1735 品牌“提取 W 时出错”
我们已立即移除 Edge OPDK 中的自定义品牌支持。虽然我们知道,这可能会让少数使用该功能的客户感到失望,但此功能并不能直接提升 Edge 在 API 管理方面的能力。
MGMT-1569 将 API 代理附加到现有 API 产品时出现的问题
修复了在管理界面中将 API 代理附加到 API 产品时,如果 API 代理具有“/”路径的资源,则会出现的问题。
MGMT-1563 如果遇到错误,轨迹中的“发送”按钮仍处于停用状态
MGMT-1362 如果电子邮件地址包含“_”,则“忘记密码”电子邮件无法正常运行
修复了 OPDK 中包含下划线的电子邮件地址的密码重置问题。
MGMT-1345 导入具有多个命名空间的 WSDL 会导致“构建 SOAP”步骤不正确
MGMT-1193 将代理另存为新修订版本时,路由规则意外发生更改
MGMT-1061 SmartDocs:Swagger 定义中的正文类型参数说明未显示在文档界面中
MGMT-800 创建名称为“default”的资源会导致界面损坏
MGMT-787 界面提醒可用性问题
在管理界面中,当您点击“+ API 代理”且“新建 API 代理”对话框显示时,您可以按 Esc 键关闭该对话框。
MGMT-619 在 API 代理界面页面中启用分页功能
MGMT-602 API 代理“开发”视图:当端点没有 PreFlow/PostFlow 时,添加“响应缓存”政策会导致错误
MGMT-460 重命名政策会导致出现故障行为,并生成无法移除的重复政策
DEVRT-1644 按名称查找通知导致发送错误的电子邮件
DEVRT-1583 创收界面针对当前费率方案显示“未来”徽章
DEVRT-1546 方案限额不起作用
DEVRT-1511 现有开发者的“mint.resourceDoesNotExist”错误
CORERT-639 TCPSysLogSocket 必须是异步的
CORERT-613 因“unrecognized_name”导致的 SSL 握手失败
AXAPP-1728 忽略分析中的创收变量
AXAPP-1708 Analytics API 似乎会根据我的提问方式,针对同一统计信息生成不同的数字
AXAPP-1707 提升免费 Pod 分析性能
AXAPP-1690 自定义报告显示“无效的 API 错误”
AXAPP-1533 Analytics 地理位置热图抛出“无效的 API 调用”错误
AXAPP-1493 缓存性能统计信息不正确
APIRT-1436 创建用于对未哈希处理的令牌进行哈希处理的工具/脚本
APIRT-1425 当设置为“true”时,continueOnError 属性在 JavaCallout 政策中不起作用
APIRT-1346 OAuth2.0 - 如果 hash.oauth.tokens.enabled 为 true,则在访问令牌响应中返回哈希值
APIRT-1206 对于 503 错误和大多数 504 错误,事实表中不会记录 target_ip
APIRT-1170 缺少资源文件导致 MP 无法加载环境
APIRT-1148 针对 Node.js 目标的 ResponseFlow 中 {message.version} 变量的 GET 会抛出 NPE
APIRT-1054 尝试记录到非默认目录时,消息记录失败
APIRT-387 使 OrganizationService 在 MP 上以“其他”变种运行
APIRT-67 OAuth GenerateAccessToken 政策未正确设置 oauthV2.failed 变量
APIRT-52 自定义报告:许多 API 的响应状态代码为 null

已知问题

此版本存在以下已知问题。

问题 ID 说明
OPDK-1586

如果未启用 IPV6 支持,API BaaS 门户无法启动
解决方法是,在 /<install-dir>/apigee4/conf/nginx/conf.d/loadbalancer.conf 中注释掉以下 IPV6 行,以使 API BaaS 门户正常运行,或启用 IPV6 支持:

# listen [::]:8080;

OPDK-1785

在升级后的 Edge 安装环境中安装创收组件
如果您将 Edge 安装升级到 4.15.07.00,并且在升级之前未使用创收功能,则无法在 4.15.07.00 版 Edge 上安装创收功能。

解决方法是在尝试安装创收功能之前,在 apigee-env.sh 文件中设置正确的创收版本。如需获取 4.15.07 中的创收版本(在您已升级到 Edge 4.15.07 之后),请运行:
> source /{install-dir}/apigee4/bin/apigee-env.sh

> VER=`basename $(find $SHARE_DIR/installer/monetization -name "mint-*.zip") | cut -d "-" -f 2,3,4`
默认情况下,install-dir 为 /opt。
需要将上述 VER 的值设置在 apigee-env.sh 中:
> sed -i "s/^MONETIZATION_VERSION=.*/MONETIZATION_VERSION=$VER/" /install-dir/apigee4/bin/apigee-env.sh
如果您尝试在未执行上述步骤的情况下安装 Monetization,安装会失败,并且共享目录中可能存在无效的符号链接。您需要移除该符号链接:
> rm /install-dir/apigee4/share/monetization
移除符号链接后,执行上述步骤来设置创收版本,然后重试创收安装。
OPDK-1857 bin/qpid-stat.sh 和 bin/qpid-config.sh 中硬编码的 Python 2.6 版本

在 CentOS 和 RedHat 7.0 上,bin/qpid-stat.sh 和 bin/qpid-config.sh 中的多个脚本被硬编码为使用 Python 版本 2.6。

此问题的解决方法是更改 apigee4/bin 目录中 qpid-stat.sh 和 qpid-config.sh 内导出 PYTHONPATH 的行。

export PYTHONPATH="${QPID_DIR}/lib/python2.6/site-packages"

如需确定系统上的 Python 版本,请检查目录 /opt/apigee4/share/apache-qpid/lib 中的 Python 版本。该目录很可能是 python2.7。

然后,您需要使用正确的路径更新 qpid-stat.sh 和 qpid-config.sh 中的 PYTHONPATH 设置。例如:

export PYTHONPATH="${QPID_DIR}/lib/python2.7/site-packages"

DEVRT-1574 对于采用多个有效费率方案的开发者,余额和使用情况不一致
在创收方面,如果开发者采用多个按每次 API 调用收费的有效费率方案,则货币余额使用情况有时可能不一致。
APIBAAS-1647 以系统管理员身份登录后,BaaS 界面会显示“Error getting roles”消息
在从 4.15.01 升级到 4.15.07 后,系统管理员首次登录系统时会显示此错误消息。您可以忽略此消息。
DEVRT-1834 将创收功能升级到 4.15.07
apigee-upgrade.sh 脚本会在末尾输出以下消息,提示您执行另一个脚本:
**************************************
In order to complete the monetization upgrade please run:
sudo /opt/apigee4/share/monetization/schema/migration/MOPDK4.15.04.00/
365-create-notification-condition.sh
**************************************

您可以忽略此消息。该脚本不是必需的,无法执行。

DEVRT-1951 获利全新安装缺少通知配置
在全新安装的 Apigee Edge for Private Cloud 4.15.07.00 版中,缺少以下创收通知配置。这些值对应于管理界面中“管理”>“通知”页面上的通知类型。
mint.scheduler.${ORG_ID}.adhocnotify@@@management
mint.scheduler.${ORG_ID}.expiringrateplannotify@@@management
mint.scheduler.${ORG_ID}.newpkgnotify@@@management
mint.scheduler.${ORG_ID}.newproductnotify@@@management
mint.scheduler.${ORG_ID}.newrateplannotify@@@management
mint.scheduler.${ORG_ID}.tncacceptancenotify@@@management
如需解决此问题,请按以下步骤操作。您需要 Cassandra 实例的 IP 地址。如需查找该属性,请在 <installation-root>/apigee4/conf/cassandra/cassandra.yaml 或 <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties 中查找。
  1. 运行以下命令。将 {ORG_ID} 变量保持原样,但替换 <org_name>、<installation-root> 和 <cassandra_ip_address>。
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/ui/mint-org-specific-ui-schedulers.txt > /tmp/mint-org-specific-ui-schedulers.txt
    
    <installation-root>/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-ui-schedulers.txt
  2. 重启管理服务器。
DEVRT-1952 从 4.14.07.00 版升级后,获利功能缺少通知配置
在将 Apigee Edge for Private Cloud 从 4.14.07.00 版升级到 4.15.07.00 版时,缺少以下创收通知配置,这会导致创收报告无法正常运行。
mint.scheduler.${ORG_ID}.chargedaily@@@management
mint.scheduler.${ORG_ID}.chargehourly@@@management
如需解决此问题,请按以下步骤操作。您需要 Cassandra 实例的 IP 地址。如需查找该属性,请在 <installation-root>/apigee4/conf/cassandra/cassandra.yaml 或 <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties 中查找。
  1. 运行以下命令。将 {ORG_ID} 变量保持原样,但替换 <org_name>、<installation-root> 和 <cassandra_ip_address>。
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/system/mint-org-specific-system-schedulers.txt > /tmp/mint-org-specific-system-schedulers.txt
    
    <installation-root>/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-system-schedulers.txt
  2. 重启管理服务器。
OPDK-1878 无法在多数据中心安装中设置 Pod 名称
Edge 安装指南指定在多数据中心安装的静默安装文件中将 Pod 名称设置为“gateway-1”和“gateway-2”。不过,重命名 Pod 会导致路由器和消息处理器无法正确注册和访问。此问题还会阻止 setup-org.sh 脚本找到可用的消息处理器。

解决方法是在两个数据中心的静默安装文件中,使用 MP_POD 属性将 Pod 名称设置为“gateway”。
OPDK-1886

节点无法访问本地 IP 地址(例如 192.168.x.y)
尝试访问本地 IP 地址时,您会看到“connect EINVAL”错误。
解决方法是修改消息处理器节点上的 /<install_dir>/apigee4/conf/apigee/message-processor/nodejs.properties 文件,将以下行注释掉:

connect.ranges.denied=10.0.0.0/8,192.168.0.0/16,127.0.0.1/32

然后,重启消息处理器节点:

<install_dir>/apigge4/bin/apigee-service message-processor restart 
OPDK-1958 升级时,所有节点都需要访问管理服务器上的端口 8080
在运行时,以下组件需要访问管理服务器上的端口 8080:路由器、消息处理器、界面、Postgres 和 Qpid。不过,在升级时,所有节点(包括 Cassandra 和 Zookeeper 节点)都需要访问管理服务器上的端口 8080。
OPDK-1962 升级后必须重新配置 Edge API 的 SSL
如果您在升级到 4.15.07.00 之前已将 Edge API 配置为使用 SSL,则必须在升级后重新配置 SSL。如需了解为 Edge API 配置 SSL 的步骤,请参阅 Edge 操作指南