4.16.05 - Edge for Private Cloud 版本说明

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

2016 年 5 月 31 日(星期二),我们发布了新版 Apigee Edge for Private Cloud。

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

请参阅关于版本编号,了解如何确定您的 Edge for Private Cloud 版本是否包含特定的云版本。

新功能和增强功能

以下是此版本中的新功能和增强功能。除了以下增强功能之外,此版本还包含多项可用性、性能、安全性和稳定性增强功能。

如需了解更多详情和说明,请参阅 Edge for Private Cloud 文档。

安装和操作指南已移至线上

您现在可以访问 4.18.01 版的 Edge for Private Cloud 安装和运营指南。

软件更新

此版本包含以下软件更新:

  • Java JDK 1.8 - 为了充分利用最新的 Java 功能,此版本与 Java 1.8 兼容。您的环境中必须有 Oracle JDK 1.8 或 OpenJDK 8。
    在更新到 Java 8 的过程中,Oracle JDK 1.8 中不再提供某些 TLS 密码。 如需查看完整列表,请参阅“默认停用的加密套件”部分 http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html
  • Cassandra 2.1.13 - 从 Cassandra 2.0.15 更新。

安装、升级、回滚

以下是安装、升级和相关脚本的更改列表。如需了解使用信息,请参阅 Edge for Private Cloud 文档。

  • 从 4.16.01 版更新的新流程 - 此版本使用 update.sh 实用程序替换了 apigee-migrate 实用程序,以便将安装从 4.16.01 版更新到 4.16.05 版。请参阅将 Apigee Edge 4.16.01 更新到 4.16.05
  • Bootstrap
    • bootstrap.sh(4.16.01 版本)现在在 4.16.05 中为 bootstrap_4.16.05.sh
    • 您不再需要指定 uname:pword 即可下载 bootstrap_4.16.05.sh
  • 回滚 - 如需将更新回滚到 4.16.05,请卸载 4.16.05 版组件,然后重新安装之前的版本。移除了之前的 rollback.sh 实用程序。请参阅 4.16.05 回滚流程
  • setup.shupdate.sh 可以将日志文件写入 /tmp - 默认情况下,setup.shupdate.sh 实用程序会将日志信息写入 /opt/apigee/var/log/apigee-setup。如果运行该实用程序的用户无权访问该目录,则该实用程序会将日志写入 /tmp 目录。 如果用户无权访问 /tmp,该实用程序会失败。
  • API BaaS 更新程序 - 在 4.16.01 版本中,您必须重新安装 API BaaS 才能迁移它。新的 update.sh 实用程序支持就地更新 API BaaS。请参阅将 Apigee Edge 4.16.01 更新到 4.16.05

管理

以下是私有云管理和配置方面的新功能。

  • 安装验证 - 用于测试 Edge Private Cloud 安装的 apigee-validate 实用程序现在可以从管理服务器运行。以前,需要在消息处理器上运行脚本。请参阅测试安装
  • 地区名称 - 地区可以是任何名称。在之前的版本中,名称采用“dc-#”的形式,其中 # 是一个整数值。
  • 网关 pod - 网关 pod 可以具有任何名称。在之前的版本中,Pod 必须命名为“gateway”。
  • 基于脚本的管理 - 新的 apigee-adminapi.sh 命令行实用程序可让您执行与通过调用 Edge 管理 API 执行的 Edge 配置任务相同的任务。请参阅使用 apigee-adminapi.sh 实用程序
  • 虚拟主机 SSL 静默配置 - 创建组织或环境时,您现在可以传递属性以在虚拟主机上配置 SSL。请参阅组织新手入门

API 服务

以下是 Edge API 服务的新功能,这些功能已在产品的先前云版本中提供。

syslog 消息日志记录的固定长度前缀 (Cloud 16.03.30)

消息记录政策在 Syslog 配置中新增了 <FormatMessage> 元素。通过设置 <FormatMessage>true</FormatMessage>,Syslog 消息将以固定数量的字符开头,让您可过滤掉 Apigee 插入的数据。如需了解详情,请参阅消息记录政策。(APIRT-1398)

API 代理基本路径中的通配符(Cloud 16.03.09 界面)

管理界面支持在 API 代理基本路径中使用一个或多个 /*/ 通配符。例如,/team/*/members 的基本路径允许客户端使用 https://[host]/team/blue/membershttps://[host]/team/green/members 调用您的代理,而无需您创建新的代理来支持新团队。请注意,不允许使用 /**/。(MGMT-3154)

API 代理链 (Cloud 16.03.02、Cloud 16.03.09 界面)

Edge 支持本地 API 代理链接,允许一个 API 代理调用部署在 Edge 组织中的另一个 API 代理,而不会产生额外的网络开销。以前,API 代理链需要通过 http(s) 调用另一个 API 代理,该代理通过负载平衡器、路由器和消息处理器转发请求。

API 代理的 TargetEndpoint 上提供了新的 LocalTargetConnection 元素,可让您指定 API 代理名称、API 代理中特定 ProxyEndpoint 的名称,或者只是本地 API 代理资源的基本路径(例如 /v1/myresource)。当您添加或更新 TargetEndpoint 时,代理编辑器界面也会提供这些选项。

代理链也可用于“服务调用”政策。

如需了解详情,请参阅将 API 代理链接到一起。新的 LocalTargetConnection 元素也列在此处的 XML 架构中:https://github.com/apigee/api-platform-samples/blob/master/schemas/configuration/configuration_schemas.xsd。 (MGMT-3049、MGMT-3050)

已修复 Bug

此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。

Edge for Private Cloud 4.16.05

问题 ID 说明
PRC-770 16.01 安装程序无法在 axgroup 中注册 Postgres 备用服务器
PRC-758 拥有“用户”角色的用户能够修改自定义报告
PRC-883 在主备配置下,Postgres 服务器上的更新失败

Cloud 16.03.30

问题 ID 说明
SECENG-584 证书链中证书之间换行的验证检查导致了生产环境中某些证书出现问题
MGMT-3217 如果 KVMap 名称以“keys”结尾,管理 API 调用会失败
MGMT-3214 JavaCallout 期间可能会发生类冲突,导致客户的 Java 代码失败
MGMT-3185 向组织添加组织管理员时出错
EDGEUI-127 使用新版代理编辑器时权限不足
EDGEUI-119 界面会话超时问题
CORESERV-671 看到“No rings configured; Cannot initialize cps service”错误
AXAPP-2345 非 CPS 客户的 AX 自定义报告中存在问题
AXAPP-2302 每日 Apigee Analytics 摘要在“开发者采用情况”下显示零
APIRT-2750 特定组织的流量失败次数较多
APIRT-2516 JavaScript 标注中的运行时错误指定了错误的行号
APIRT-2508 在保险箱回调中调用 Express 监听时出现退出错误
APIRT-2336 Node.js 的 Gzip 问题
APIRT-1975 遮盖配置不适用于 message.content

Cloud 16.03.16 界面

问题 ID 说明
MGMT-3142 “错误分析”信息中心内的图表未加载(更新后的修复)

Cloud 16.03.09 界面

问题 ID 说明
MGMT-3158 通过 API 设置单个代理的 RBAC 时,界面中的权限不足
MGMT-3142 “错误分析”信息中心未加载图表
MGMT-3118 界面针对“clientAuthEnabled”参数显示了错误的 SSL 虚拟主机配置
DEVRT-2344 单日报告定义不会在界面中加载交易

Cloud 16.03.02

问题 ID 说明
MGMT-3083 Node.js 日志自动刷新功能过于冗长,包含过多日志消息
DEVRT-2275 自定义属性费率方案仅显示 5 个属性,而不是允许的 10 个
DEVRT-1275 费率方案下拉菜单中不会显示所有开发者
DEVRT-1074 当应用抵用金时,余额为零的预付费开发者抛出 NullpointerException

Cloud 16.02.17

问题 ID 说明
MGMT-3083 Node.js 日志自动刷新功能过于冗长,包含过多日志消息
MGMT-3077 界面从使用默认命名空间的 WSDL 生成无效的代理软件包
MGMT-1642 自定义用户角色缺少开发者应用的“获取”权限

已知问题

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

问题 ID 说明
APIRT-2978

路由器无法启动 Nginx 或路由器无法启动

如果边缘路由器无法启动 Nginx 或根本无法启动(如 /opt/apigee/var/log/edge-router/logs/system.log 文件中所示),请删除 /opt/nginx/conf.d 目录中的所有文件,然后重启路由器:

> rm -f /opt/nginx/conf.d/*
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
APIRT-3364

消息处理器对 IPv4 和 IPv6 执行 DNS 查找

如果您已安装并启用 NSCD(名称服务缓存守护程序),您可能会注意到消息处理器会进行两次 DNS 查找:一次用于 IPv4,一次用于 IPv6。

如需停用 IPv6 上的 DNS 查找,请执行以下操作:

  1. 在每个消息处理器节点上,修改 /etc/nscd.conf
  2. 设置以下属性:

    enable-cache hosts no
PRC-1118

运行“apigee-service apigee-postgresql pg-data-purge”命令时出错

如果您运行“apigee-service apigee-postgresql pg-data-purge”命令,并看到以下形式的错误:

错误:必须是关系的所有者

修改 /opt/apigee/apigee-postgresql-4.16.05-0.0.894/lib/actions/pg-data-purge 并将以下属性设置为“apigee”:

POSTGRES_USER=apigee

DOC-1687 由于存在已知的软件包依赖项冲突,Satellite Server 6 中使用的 Katello 代理将无法在运行 Qpid 守护程序的 Apigee Edge 主机上正确安装。

Assign Message、Java Callout 和 Raise Fault 政策中的 JSON 载荷

借助“分配消息”“Java Callout”和“引发故障”政策,您可以使用 <Set><Payload> 元素生成消息内容。在这些消息中,您可以添加在运行时自动填充值的变量。例如,如果您想输出 HTTP 标头中的日期,可以在消息中插入 {message.header.date}

如果消息格式为 JSON,则如下所示:

{"The date is: " : "{message.header.date}"}

不过,您可以看到这是格式有误的 JSON。如需解决此问题,您有以下两种选择:

  • 使用反斜杠转义左大括号:
    \{"The date is: " : "{message.header.date}"}
  • 在“载荷”元素配置中,使用 variablePrefixvariableSuffix 属性来指明 JSON 载荷中的变量。例如:
    <Payload contentType="application/json" variablePrefix="#" variableSuffix="%">{"The date is: " : "#message.header.date%"}</Payload>

在下一个 Edge for Private Cloud 功能版本中,您将能够毫无问题地在 JSON 消息中使用大括号表示变量。(APIRT-1160)

路由器无法启动 Nginx 或路由器无法启动

如果边缘路由器无法启动 Nginx 或根本无法启动,如 /opt/apigee/var/log/edge-router/logs/system.log 文件中所示,请删除 /opt/nginx/conf.d 目录中的所有文件,然后重启路由器:

> rm -f /opt/nginx/conf.d/*
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart