您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
2017 年 1 月 25 日(星期三),我们发布了新版 Apigee Edge 私有云。
自上一个 Edge Private Cloud 功能版本以来,已发布以下版本,并且这些版本包含在此功能版本中:
请参阅关于版本编号,了解如何确定您的 Edge for Private Cloud 版本是否包含特定的云版本。
版本概览
此版本包含多项重要功能,可帮助您更好地控制和保护 API。
借助共享流和流钩子,您可以在多个 API 代理中创建一组可重复使用的政策和行为。
键值对映射 (KVM) 是一种 Edge 功能,可用于长期保留键值对,现在可以进行加密,以提高数据安全性。
为了更灵活地控制开发者对 API 的访问权限,Edge 管理界面提供了更多选项,用于创建和管理 API 密钥和密码(凭据)、撤消开发者应用以及停用开发者。借助这些增强功能,您可以更轻松地实现 API 密钥轮换等策略,还可以通过撤消开发者应用(其所有密钥都会被停用)或停用开发者(开发者的所有应用和密钥都会被停用)来停用多个 API 密钥。
在弃用方面,我们已停用“创收限制”功能。
本主题的其余部分详细介绍了相应版本中包含的所有新功能、更新和 bug 修复。
弃用和停用
此版本中弃用或停用了以下功能。如需了解详情,请参阅 Edge 弃用政策。
已停用:创收限制(Cloud 16.10.26 界面)
管理界面(管理员 > 限制)中已移除创收限制功能。如需了解详情(包括应改用什么),请参阅弃用通知:http://docs.apigee.com/monetization/content/limit-feature-deprecation-notice。 (DEVRT-3259)
移除了对 RedHat/CentOS 版本 6.5 的支持
如果您目前使用的是 RedHat/CentOS 6.5 版,则必须先将操作系统更新到 6.6 版或更高版本,然后再更新到 Edge 4.17.01。
新功能和更新
以下是此版本中的新功能和增强功能。除了以下增强功能之外,此版本还包含多项可用性、性能、安全性和稳定性增强功能。
如需了解更多详情和说明,请参阅 Edge for Private Cloud 文档。
私有云
现在可以在 Edge 界面上显示意见征求横幅
您可以在用户首次访问 Edge 界面时显示意见征求横幅。意见征求横幅会显示 HTML 格式的文本以及一个按钮,用户选择该按钮即可前往登录界面。 如需了解详情,请参阅启用意见征求横幅。
API BaaS 支持多个数据中心
您现在可以在多个数据中心安装 API BaaS。 如需了解详情,请参阅 API BaaS 的多数据中心安装。
新的 API BaaS 安装配置参数
API BaaS 配置文件中新增了两个配置参数:
- BAAS_CASS_DC_LIST - 指定 BaaS 数据中心的区域名称。对于单个数据中心,请指定与 BAAS_CASS_LOCALDC 相同的值。
- BAAS_CLUSTER_SEEDS - 指定用于定义 BaaS 集群种子的 BaaS Stack 节点。
如需了解详情,请参阅将 Apigee Edge 4.16.09 更新到 4.17.01。
不再使用 apigee-service 命令运行 API BaaS 的“deploy”选项
apigee-service 命令的 deploy 选项不再支持 API BaaS Stack 和 Portal。而是使用 configure 和 restart 选项。 如需了解详情,请参阅 API BaaS 安装。
API BaaS 的新端口要求
所有 BaaS Stack 节点现在都必须打开端口 2551,以便从所有其他 Stack 节点进行访问。如果您有多个 BaaS 数据中心,则必须能够从所有数据中心的所有 Stack 节点访问该端口。
如需了解详情,请参阅 API BaaS 安装和安装要求。
Developer Services 门户现在使用 Postgres 作为其数据库,并使用 Nginx 作为其 Web 服务器
对于所有新安装,门户网站都使用 Postgres 作为数据库,而不是 MySQL 和 MariaDB。从之前版本升级到 4.17.01 的客户将继续使用 MySQL 或 MariaDB。
对于 4.17.01 的新安装,系统也会安装 Nginx 作为 Web 服务器。从之前版本升级到 4.17.01 的客户将继续使用 Apache。
开发者服务门户不再默认启用 SmartDocs
您必须在门户上启用 SmartDocs。如需详细了解 SmartDocs,请参阅使用 SmartDocs 记录 API。
开发者服务门户现在通过 RPM 安装
Developer Services 门户网站的 4.17.01 版本是通过使用与 Edge 和 API BaaS 相同的代码库和工具从 RPM 安装的。如需了解详情,请参阅开发者服务门户网站安装。
基于 RPM 的安装程序和基于 .tar 的更新程序使用不同的组件:
|
基于 RPM 的安装 |
基于.tar 的安装 |
|
|---|---|---|
|
Web 服务器 |
Nginx |
Apache |
|
Web 根目录 |
/opt/apigee/apigee-drupal |
/var/www/html |
|
Port(端口) |
8079 |
80 |
|
数据库 |
PostgreSQL |
MySQL |
|
PHP |
php-fpm (FastCGI) |
mod_php(与 Apache 进程内) |
Qpid 已升级到版本 1.35
此版本包含 Qpid 版本 1.35。
Cassandra 已升级到版本 2.1.16
此版本包含 Cassandra 版本 2.1.16。
Play 已升级到 2.4 版
此版本包含 Play 2.4 界面框架。
添加了对 RedHat/CentOS 版本 7.3 的支持
Edge 现在支持 RedHat/CentOS 7.3 版。
Beta 版监控信息中心的更新
Edge 监控信息中心 Beta 版已更新为:
- 新增了 Cassandra、Zookeeper、OpenLDAP、Postgres 和 Qpid 的信息中心。
- 将 4.16.09 中的 Influx 版本从 0.11 升级到 1.0.2。
- 添加了多项稳定性修复。
如需了解详情,请参阅 Apigee 监控信息中心 Beta 版概览。
现在可以在安装配置文件中设置 Postgres 密码
使用 PG_PWD 属性在安装配置文件中设置 Postgres 密码。 如需了解详情,请参阅边缘配置文件参考。
启用 EPEL 代码库
您必须启用 Extra Packages for Enterprise Linux(或 EPEL)才能安装或更新 Edge。 如需了解详情,请参阅安装要求。
您使用的命令取决于 RedHat/CentOS 的版本:
- 对于 RedHat/CentOS 7.x:
> wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; rpm -ivh epel-release-latest-7.noarch.rpm - 对于 RedHat/CentOS 6.x:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm; rpm -ivh epel-release-latest-6.noarch.rpm
使用 NSCD(名称服务缓存守护程序)时,停用 IPv6 上的 DNS 查找
如果您已安装并启用 NSCD(名称服务缓存守护程序),消息处理器将执行两次 DNS 查找:一次用于 IPv4,一次用于 IPv6。使用 NSCD 时,您必须停用 IPv6 上的 DNS 查找。如需了解详情,请参阅安装要求。
如需停用 IPv6 上的 DNS 查找,请执行以下操作:
- 在每个消息处理器节点上,修改 /etc/nscd.conf。
- 设置以下属性:
enable-cache hosts no
API 服务
使用共享流和流钩子来运行 API 代理 (Cloud 16.09.21)
借助新的“共享流”功能,您可以将 API 代理中的功能投入使用。通过将条件化政策和资源组合成共享流,您可以从任何 API 代理引用该共享流,以执行单源可重用逻辑。例如,共享流可能会验证 API 密钥、防范流量突增,以及记录数据。
您可以在管理界面(API > 共享流)中定义共享流,然后通过两种不同的方式引用它们:
- 在 API 代理中使用新的 Flow Callout 政策
或 -
在名为“流钩子”的新制品上,该制品位于以下位置:
借助这些连接点,您可以在各个代理的主要流程点之前或之后执行操作逻辑。您可以在管理界面中(APIs > Environment Configuration > Flow Hooks)将共享流分配给这些流钩子位置。
- 请求:在 ProxyEndpoint PreFlow 之前,在 TargetEndpoint PostFlow 之后
- 响应:在 TargetEndpoint PreFlow 之前,在 ProxyEndpoint PostFlow 之后
如需了解详情,请参阅可重复使用的共享流和使用流钩子附加共享流。
加密的键值对映射 (Cloud 16.09.21)
您可以创建加密的键值对映射 (KVM),用于存储敏感信息,例如凭据或 PII/HIPAA 数据。此功能不同于现有的 Edge 安全存储区(保险库),旨在取代后者,因为保险库值只能通过 Node.js(除了管理 API 之外)访问。您可以使用 Node.js 或键值对映射操作政策访问加密的 KVM 值。
创建加密的 KVM
- 使用现有的 KVM 管理 API。在创建 KVM 时,如果您在载荷定义中包含
“encrypted”: “true”,Edge 会生成一个与 KVM 具有相同范围的加密密钥,并使用该密钥对 KVM 进行加密。 - 您无法使用“键值对映射操作”政策创建加密的 KVM。您必须先使用 KVM 管理 API 创建加密的 KVM,然后才能在政策中使用它。
- 您无法加密现有的未加密 KVM。
使用加密的 KVM
- 使用键值对映射操作政策获取和更新加密的 KVM 值。
- 获取加密的键值时,请在用于保存该值的变量前添加关键字“private.”。例如
<Get assignTo="private.secretVar">。该private.secretVar变量包含解密后的值。 - 使用政策更新值时,您无需执行任何特殊操作。在加密的 KVM 中,该值将自动加密。
- 您还可以在 Node.js 代码中使用 apigee-access 模块访问解密后的值。使用函数
getKeyValueMap()可根据名称和范围检索 KVM。返回的对象上有两个可用的函数:getKeys(callback)用于获取键名数组,get(key, callback)用于获取特定键的值。例如,以下代码获取了名为VerySecureKVM的apiproxy范围 KVM,并检索了key1的加密值:var apigee = require('apigee-access'); var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy'); encryptedKVM.get('key1', function(err, secretValue) { // use the secret value here });
如需了解详情,请参阅使用键值映射和在 Node.js 中访问键值映射。
(APIRT-1197)
在界面中创建加密的键值对映射(16.10.26 界面)
在管理界面中创建环境级键值映射 (KVM) 时(API > 环境配置 > 键值映射),您可以通过新的加密复选框创建加密的 KVM。向 KVM 添加键后,加密的值会在管理界面中显示为星号 (*****)。您向加密的 KVM 添加键值对的方式与向未加密的 KVM 添加键值对的方式完全相同。云版本 160921 中已提供对加密 KVM 的完整后端支持。(EDGEUI-764)
API 代理元数据中包含的 OpenAPI 规范网址(Cloud 16.09.21)
当您根据 OpenAPI 规范创建 API 代理时,OpenAPI 规范的位置会存储在 API 代理元数据中。例如,如果您使用管理 API 获取代理修订版本的详细信息,则元数据会包含 OpenAPI 规范的路径,格式如下:
"spec" :
"https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"
此增强功能支持新一代 Edge,可将 OpenAPI 规范与新开发者门户中的 API 代理、API 产品和 API 参考文档相关联。(MGMT-2913)
针对 SOAP 代理生成 OpenAPI 规范(Cloud 16.10.05 界面)
当您基于 WSDL 创建“REST 到 SOAP 到 REST”代理时,Edge 会根据代理资源自动生成托管的 OpenAPI 规范。您可以通过 http(s)://[edge_domain]/[proxy_base_path]/openapi.json 访问该规范。不过,由于并非所有 XML 架构规则都可以在 OpenAPI 规范中表示,因此转换并不总是准确的。(EDGEUI-718)
直通 SOAP 代理的边缘托管 WSDL(Cloud 16.10.05 界面)
当您基于 WSDL 创建“直通 SOAP”代理时,Edge 会托管该 WSDL,并在代理中创建一个流,以便您访问该 WSDL。您可以在 http(s)://[edge_domain]/[proxy_base_path]?wsdl 访问托管的 WSDL,这是通过代理调用 SOAP 服务的客户端的新服务端点网址。(EDGEUI-718)
API 代理向导中的新示例股票报价 WSDL (Cloud 16.08.24.01)
使用 API 代理向导创建 SOAP 服务 API 时,示例中提供了一个替代的股票报价 WSDL:https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?WSDL。(EDGEUI-655)
开发者服务
界面中的开发者应用管理功能(Cloud 16.10.05 界面)
Edge 界面中的开发者应用管理功能通过多项增强功能变得更加强大:
- 您可以在新的“应用状态”字段中撤消和批准应用(在修改模式下)。在查看模式下,该字段还会显示应用的当前状态。如果应用被撤消,则其所有 API 密钥都无法用于 API 调用。密钥本身不会被撤消,如果开发者重新获得批准,则可以再次使用。当应用处于撤消状态时,API 密钥的“已批准”标签会以删除线文本显示。
- 现在,开发者应用详情页面上会显示 API 密钥的到期日期,并且密钥会按到期日期整理在“凭据”部分中。例如,没有过期时间的密钥会与其关联的 API 产品一起显示在一个组中,而 90 天后过期的密钥会与其关联的产品一起显示在另一个组中。您无法更改现有凭据的失效时间。
- 借助开发者应用编辑模式下的“添加凭据”按钮,您可以生成具有特定到期时间或日期(或无到期时间)的 API 密钥。在创建凭证时(或之后),您可以向其中添加 API 产品。
此功能取代了开发者应用详情页面上的“重新生成密钥”按钮。该按钮已被移除。
这些增强功能在界面中添加了管理 API 中已有的功能。 (EDGEUI-104)
在界面中激活/停用应用开发者(Cloud 16.10.05 界面)
您可以在 Edge 界面(“开发者详细信息”页面、编辑模式、“启用/停用”按钮)中将应用开发者的状态更改为有效或无效。当开发者处于非活动状态时,其任何开发者应用 API 密钥或使用这些密钥生成的 OAuth 令牌在对 API 代理的调用中均无效。(EDGEUI-304)
界面中的非活跃开发者指示器(16.10.26 界面)
当应用开发者被设置为“无效”时,即使开发者的应用和凭据仍处于“已获批准”状态,它们也不再有效。现在,在管理界面中查看已停用的开发者的应用和凭据时,应用和凭据上的“已获批”状态标签会以删除线文本显示,并且将鼠标悬停在该标签上时,系统会显示一个工具提示,指明该开发者已停用。如果开发者的状态恢复为“有效”,则其已获批的应用和凭据会再次有效,“已获批”标签上的删除线也会移除。 (EDGEUI-728)
分析服务
重命名了“错误代码分析”信息中心(16.10.26 界面)
“错误分析”信息中心已更名为“错误代码分析”。该信息中心包含 HTTP 状态代码为 4xx 和 5xx 的 API 调用。(EDGEUI-738)
代理信息中心(16.10.26 界面)上的 TPS 数据
主“代理流量”信息中心内新增了“平均每秒事务数”(“平均 TPS”)数据。此外,当您将鼠标悬停在“代理流量”和“代理性能”图表中的各个数据点上时,工具提示中会显示相应时间间隔的 TPS。 (EDGEUI-668)
Analytics 错误显示(16.10.26 界面)
当分析信息中心收到 500 错误时,管理界面会显示“报告超时”,而不管错误是什么。为了提供更好的问题排查功能,界面现在会显示实际错误。(EDGEUI-753)
已修复 Bug
此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。
Edge for Private Cloud 4.17.01
| 问题 ID | 说明 |
|---|---|
| APIBAAS-1990 | 当 smtp.auth 为 false 时,API BaaS 堆栈不再尝试向 SMTP 进行身份验证 |
| APIRT-3032 |
运行“apigee-service baas-usergrid restart”命令现在也会运行“configure” 您不再需要为 BaaS 堆栈运行“apigee-service baas-usergrid configure”,然后运行“apigee-service baas-usergrid restart”。 |
| APIRT-3032 |
如果主机名是 IP 地址,则不执行 DNS 查找。 |
| DOS-4070 |
“apigee-all -version”现在会显示 edge-mint-* RPM 的版本 |
| DOS-4359 |
添加了“pdb”选项,用于仅安装 Postgres 数据库。 仅在安装开发者服务门户时使用。 请参阅开发者服务门户安装。 |
Cloud 16.10.26(界面)
| 问题 ID | 说明 |
|---|---|
| EDGEUI-768 | 使用 StockQuote WSDL 创建代理失败 |
Cloud 16.09.21_9
| 问题 ID | 说明 |
|---|---|
| MGMT-3674 | 无法为启用 HIPAA 的组织创建加密的 KVM 或保险箱 |
| MGMT-3647 | 对于电子邮件地址采用大写的用户,Userrole 访问权限会抛出 403 错误 |
Cloud 16.09.21
| 问题 ID | 说明 |
|---|---|
| APIRT-3507 | JavaScript 服务调出时出现间歇性错误(例如 SNI 错误) |
| APIRT-3408 | MP 版本 160817 apigee-access 分析模块以不同方式处理消息 |
| APIRT-3390 |
刷新访问令牌政策返回的错误响应发生变化 |
| APIRT-3389 | |
| APIRT-3381 | 客户生产代理的延迟时间较长 |
| APIRT-3366 | 所有新的试用组织中的 JavaScript 政策均失败 |
| APIRT-3363 | 无效的网址解析会返回状态 500,并显示 ApplicationNotFound |
| APIRT-3356 | OAuth 无效令牌消息 |
| APIRT-3355 | OAuth 代理上出现间歇性 403 错误 |
| APIRT-3285 | |
| APIRT-3261 | 凭据已针对正式版中的另一个开发者应用进行验证 |
| APIRT-3234 | Node.js 应用返回 NPE |
| APIRT-3223 | Apigee 过时缓存问题 |
| APIRT-3193 | 迁移到 ASG 后,Node.js 目标服务器挂起 |
| APIRT-3152 | cachedlogs 管理调用导致日志消息被拆分 |
| APIRT-3117 | MP 达到 100% CPU 利用率并停止处理流量 |
| APIRT-3064 | 路由器 - 来自路由器的自定义 503 错误消息 |
| APIRT-2620 | 为某些阻塞步骤提供单独的线程池,以改进负载处理 |
| CORESERV-774 | 使用有效密钥但包含无效 apiproduct 引用的访问会导致内部服务器错误 |
Cloud 16.10.05(界面)
| 问题 ID | 说明 |
|---|---|
| EDGEUI-697 | 报告页面上的“导出”按钮 “自定义报告”首页上的“导出”按钮已移除。您可以在每个自定义报告页面上导出报告。 |
Cloud 16.08.24.01
| 问题 ID | 说明 |
|---|---|
| EDGEUI-663 | 为 Weather.wsdl 的 WeatherHttpGet 端口生成的代理在运行时失败并显示 500 错误 为 SOAP 服务生成 API 代理时,没有 SOAP 协议绑定的 WSDL 端口不再显示在 API 代理向导中。这是特意设计的,因为向导仅生成 SOAP 请求。 |
| EDGEUI-658 | SOAP WSDL 直通操作名称问题 |
| EDGEUI-653 | 选择“启用 CORS”选项时,创建 Node.js API 代理时出错 |
| EDGEUI-648 | 从界面发起的通话在 2 到 3 分钟后超时 |
| EDGEUI-623 | “组织历史记录”中的“更改日期”按钮在 Firefox 上无法正常运行 |