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

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

2015 年 9 月 8 日,星期二,我们发布了适用于私有云的 Apigee Edge 的主要功能版本。

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

您可以升级到 4.15.07.00 的 Edge 版本

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

  • 直接升级到 4.15.07.00
  • 增量升级,这意味着您必须从当前版本升级到其他版本的 Edge,然后升级到 4.15.07.00。

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

从版本 4.15.01.x 或从之前的版本升级之前

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

      hf 格式适用于 Cassandra 1.0 SSTables。如果您有任何 hf 格式的 *.db 文件,则必须按照此过程其余部分的说明升级 SSTable。
  2. 如果您发现任何 hf 格式的 *.db 文件,请通过在每个 Cassandra 节点运行以下命令来升级 SSTable,直到升级所有 Cassandra 节点:
    > /<install-root>/apigee4/share/apache-cassandra/bin/nodetool -h localhost upgradestables -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 样式的稳定表格:
    > 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 Private Cloud 支持的 OpenJDK 1.7

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

操作系统支持

适用于私有云的 Apigee Edge 扩展了其操作系统支持,现支持 Red Hat Enterprise Linux 6.6 和 7.0(64 位)、CentOS 6.5、6.6、7.0(64 位)以及 Oracle Linux 6.5。

Cassandra 2.0.15 包含在 OPDK 15.07 中

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

为 OAuth 令牌哈希处理的 SHA2 支持

为了在发生数据库安全漏洞时更好地保护 OAuth 令牌,Edge 支持使用 SHA2 算法对 OAuth 令牌进行哈希处理(除了 SHA1)。借助新的组织级属性,您可以为新令牌启用和配置哈希处理,以及保留对此新功能之前已存在的任何令牌的旧版哈希处理。之前,在适用于私有云的 Edge 中,(管理服务器和消息处理器上)的 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 v2.0 信息”政策

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

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

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

AccessControl 政策

访问权限控制政策得到增强,当 IP 地址包含在 X-FORWARDED-FOR HTTP 标头中时,可以更精细地评估 IP 地址,以便列入许可名单和拒绝名单。

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

“访问实体”政策中的新实体

通过 Access Entity 政策,您可以访问以下新实体:consumerkey-scopes、authorizationcode、requesttoken 和 verifier。如需了解详情,请参阅访问实体政策

统计信息收集器政策:统计信息名称自动转换为小写

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

移除了 API 代理编辑器中的传统版 Trace

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) 支持

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

需要 Java 1.7

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

不需要特定于 Edge 的配置。如果您的环境配置了南向 SNI(默认为 Edge 云),Edge 支持此功能。

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

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

SSL 证书详情中的“Signature Algorithm”(签名算法)

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

显示即将过期的 SSL 证书

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

威胁防范错误配置

默认情况下,如果消息未通过 JSON 或 XML 威胁防护政策,Edge 会抛出 HTTP 500 Internal Server Error 状态代码,并抛出 ExecutionFailed 错误。您可以使用新的组织级属性更改错误行为。将组织属性 features.isPolicyHttpStatusEnabled 设置为 true 时,会发生以下行为:

  • 请求:如果任何请求流都附加了威胁防护政策,无效消息会返回 400 状态代码以及相应的政策错误消息。
  • 响应:将威胁防护政策附加到任何响应流后,无效消息仍会返回 500 状态代码,并且系统会抛出一条相应的政策错误消息(而不只是 ExecutionFailed)。

Cloud 客户必须与 Apigee 支持团队联系才能设置组织属性。此功能将在下一个私有云季度版本发布给 Edge 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 管理。


分析服务

以下是此版本中新增的 Google Analytics(分析)服务功能。

保留的数据使用时间限制

使用管理界面或 API 生成分析报告时,默认不可访问自当前日期起超过六个月的数据。如果您想要访问 6 个月之前的数据,请与 Apigee 支持团队联系。

传统版自定义报告即将从管理界面中移除

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

开发者互动 widget 性能

Analytics(分析)主信息中心(开发者互动部分)上的漏斗微件已得到增强,以提供更好的性能。


创收

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

费率方案电子邮件通知

借助新的费率方案电子邮件通知类型,当开发者达到已购买的批量费率方案或套装费率方案中的特定交易限额或美元限额时,您可以通知他们。如需了解详情,请参阅使用通知模板设置通知

周期性费用和汇总基础期同步

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

  • 周期性费用期,在费率方案的“费用”标签页中配置,用于确定向开发者收取周期性费用的时间。
  • 汇总基础期限,在按数量计费或套装方案的价目表上定义,用于确定开发者何时重置套装的使用情况。

这两个经期现已同步。当一个费率方案同时存在非零周期性费用和数量级带费率价目表或套装价目表时,两者都会使用周期性费用期。例如,如果存在每月周期性费用,则价目表包也会按月重置(默认情况下,在月初重置)。

如果不存在经常性费用,则系统会根据价目表上定义的汇总基础重置包。例如,如果开发者在当月 19 日开始使用价目表,并且汇总基础是每月,则软件包的使用会在 19 日后的 1 个月重置。

汇总基础即将弃用,并将在未来的版本中移除创收功能。如需了解详情,请参阅指定价目表方案的详细信息

收入摘要报告中的自定义属性

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

适用于私有云的 Apigee Edge 客户可以使用以下 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 页面都将继续正常运行,但您必须按照更新流程操作,才能修改现有页面或新页面或发布任何更改。

请注意,虽然您可以在开发者门户内渲染和发布 SmartDoc,但 SmartDocs 是由 Apigee Edge API 管理服务中的 API 模型生成的。您在 Edge 中对 API 模型所做的任何更改在您的所有 Pantheon 环境中都相同(类似于开发者跨 Pantheon 环境中的存在方式)。

从 SmartDocs Beta 版升级到正式版

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

如果您是 Edge 企业客户,并对升级流程有任何问题或疑虑,请发送电子邮件至 marsh@apigee.com 和 cnovak@apigee.com。否则,请使用 Apigee 社区获取最佳回复。


未来的功能变化和改进

本部分包含预计未来功能变化和增强功能的预览内容:

响应缓存政策行为变更

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

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

未来行为:响应缓存政策中的 <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 会将其报告为已终止
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 在界面中保存权限时,会重置 Customer 角色的权限
MGMT-2114 在部署期间,MessageLogging 政策中的无效 Syslog IP 应抛出适当的错误
MGMT-2067 跟踪记录:如果在 2 个环境中部署 API 代理修订版本,则选择修订版本和环境无法正常运行
MGMT-2061 忘记密码应仅向注册用户发送电子邮件
管理界面登录页面上的“忘记了密码?”链接只会向已注册的 Apigee 用户发送电子邮件。
MGMT-2048 如果用户拥有的自定义角色限定了一个环境的部署权限,则可以在其他环境中进行部署
MGMT-2041 从默认连接模板中移除 FaultRules 元素
当您创建 API 代理或添加政策时,系统不会自动添加政策或 API 代理步骤中使用的 FaultRules 元素。
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 类似,系统会验证 TargetEndpoint,以查看 API 代理导入期间条件中使用的正确架构和表达式。
MGMT-1804 Node.js API 在某些情况下发送无效的 JSON
Node.js 日志屏幕,用于在 JSON 数据包含无效字符时显示未格式化的日志。此问题已在此版本中修复,界面现在会显示格式正确的 Node.js 日志。
MGMT-1802 密码重置网址 #118
如果管理界面位于 SSL 终止服务器后面,则管理界面现在可以正确生成重置密码电子邮件,其中包含指向 https 网址(而不是 http 网址)的链接。
MGMT-1799 在 Trace 中发送请求的界面安全漏洞
MGMT-1777 无法添加顶级域名为 .acn 的用户
MGMT-1735 显示品牌“提取 W 时出错”
我们已从 Edge OPDK 中移除自定义品牌元素支持功能,本次更新即刻生效。虽然我们知道这可能会让少数曾使用它的客户感到失望,但这项功能并不能直接改进 Edge 在 API 管理方面的功能。
MGMT-1569 将 API 代理附加到现有 API 产品时出现问题
修复了在 API 代理具有“/”路径资源时,在管理界面中将 API 代理附加到 API 产品的问题。
MGMT-1563 如果遇到错误,Trace 上的“发送”按钮保持停用状态
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.resource CannotNotExist 错误
CORERT-639 TCPSysLogSocket 必须是异步的
CORERT-613 由于“unknownd_name”导致 SSL 握手失败
AXAPP-1728 忽略数据分析中的创收变量
AXAPP-1708 根据我的询问方式,Google Analytics(分析)API 似乎针对同一统计信息生成了不同的数据
AXAPP-1707 提升免费 Pod 分析的效果
AXAPP-1690 自定义报告上显示“API 无效错误”
AXAPP-1533 Google 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 对 ResponseFlow 中 {message.version} 变量执行 GET 操作,对于 Node.js 目标,系统会抛出 NPE
APIRT-1054 尝试记录到默认目录之外的其他目录时,消息日志记录失败
APIRT-387 在 MP 上以“others”的身份运行 OrganizationService
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 上安装创收功能。

权宜解决方法是在尝试安装 Monetization 之前在 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 
如果您在未执行上述步骤的情况下尝试安装 Monetize,则安装会失败,并且共享目录中可能有无效符号链接。您需要移除该符号链接:
> 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 按 API 调用收费),那么货币余额用量有时可能会不一致。
APIBAAS-1647 以系统管理员身份登录后,BaaS 界面会显示“Error 获取角色”消息
此错误消息会出现在系统管理员从 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 4.15.07.00 版中,创收通知的以下配置缺失。这些通知类型对应于管理界面中“管理”>“通知”页面上的通知类型。
mint.scheduler.${ORG_ID}.ad 访问权限@@@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 从版本 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 名称
边缘安装指南指定在多数据中心安装的静默安装文件中将 Pod 名称设置为“gate-1”和“gate-2”。但是,重命名 Pod 会导致路由器和消息处理器无法正常注册,并且无法访问。此问题还会阻止 setup-org.sh 脚本找到可用的消息处理器。

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

节点无法访问本地 IP 地址,例如 192.168.x.y
您在尝试访问本地 IP 地址时看到错误“连接 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

然后,重启 Message Processor 节点:

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