4.16.05 - Edge for Private Cloud 版本说明

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

2016 年 5 月 31 日(星期二),我们发布了适用于私有云的新版 Apigee Edge。

自上一个适用于私有云的 Edge 功能版本 (4.16.01) 以来,以下版本已发布并包含在此功能版本中:

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

新功能和增强功能

以下是此版本中的新功能和增强功能。除了以下增强功能之外,此版本还在易用性、性能、安全性和稳定性方面进行了多项改进。

如需更多详细信息和说明,请参阅 Edge for Private Cloud 文档。

安装和操作指南已在线转移

您现在可以在 4.18.01 版中访问适用于私有云的 Edge 安装和操作指南。

软件更新

该版本中包含以下软件更新:

  • 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 更新的新进程 - 此版本将 apigee-migrate 实用程序替换为 update.sh 实用程序,以将安装从 4.16.01 更新为 4.16.05。请参阅将 Apigee Edge 4.16.01 更新为 4.16.05
  • 引导
    • 在 4.16.05 中,bootstrap.sh(4.16.01 版本)现在为 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

管理

以下是 Private Cloud 管理和配置的新功能。

  • 安装验证 - 用于测试 Edge Private Cloud 安装情况的 apigee-validate 实用程序现在可以从管理服务器运行。以前,该脚本需要在消息处理器上运行。请参阅测试安装
  • 区域名称 - 区域可以是任何名称。在之前的版本中,名称采用“dc-#”格式,其中 # 是一个整数值。
  • 网关 Pod - 网关 Pod 可以采用任何名称。在以前的版本中,Pod 必须命名为“网关”。
  • 基于脚本的管理 - 新的 apigee-adminapi.sh 命令行实用程序让您可以通过调用 Edge Management 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 代理链接需要对另一个 API 代理进行 http(s) 调用,通过负载平衡器、路由器和消息处理器转发请求。

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 服务器更新失败

云 16.03.30

问题 ID 说明
SECENG-584 对证书链中证书之间的换行符的验证检查会导致生产环境中的某些证书出现问题
MGMT-3217 如果 KVMap 名称以“keys”结尾,Management API 调用会失败
MGMT-3214 JavaCallouts 期间可能发生类冲突,从而导致客户的 Java 代码失败
MGMT-3185 将组织管理员添加到组织时出错
EDGEUI-127 使用新的代理编辑器获取权限不足
EDGEUI-119 界面会话超时问题
CORESERV-671 看到“未配置任何响铃;无法初始化 cps 服务”错误
AXAPP-2345 针对非 CPS 客户的列出 AX 自定义报告的问题
AXAPP-2302 “每日 Apigee Analytics(分析)摘要”显示开发者采用率为零的情况
APIRT-2750 特定组织中的流量失败情况较高
APIRT-2516 JavaScript 宣传信息中的运行时错误指定了不正确的行号
APIRT-2508 在保险柜回调内调用极速监听时退出错误
APIRT-2336 Node.js 中的 Gzip 问题
APIRT-1975 Mask 配置不适用于 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 主机上。

“分配消息”“Java 调用程序”和“提升故障”政策中的 JSON 载荷

“分配消息”“Java 调用程序”和“引发故障”政策允许您使用 <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 功能版本中,您将可以放心地为 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