Edge Microgate 版本说明

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

版本 3.3.x

问题修复和增强功能 v.3.3.x

3.3.2

2023 年 8 月 18 日,我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.3.2 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

bug 修复和增强功能

问题 ID 类型 说明
296187679 功能

受支持的 Node.js 版本包括:16、18 和 20。从 3.3.2 版开始,Edge Microgate CLI 命令仅适用于受支持的版本。在不受支持的版本上执行 CLI 命令将导致错误。另请参阅 Apigee 支持的软件和版本

283947053 bug

修复了 Edge Microgate 返回与应用关联的 API 产品列表中的第一个 API 产品这一问题。我们现在会根据请求确定要返回的正确 API 产品。

274443329 bug

修复了 Docker 拉取过时的映像版本的问题。Docker 节点版本已更新为 Node.js 版本 18。我们现在使用版本 18.17-buster-slim 构建 Docker 映像。

安全问题已解决

无。

3.3.1

2022 年 6 月 7 日,我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.3.1 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

bug 修复和增强功能

问题 ID 类型 说明
220885293 功能

现在支持 Node.js 版本 16。

231972608 bug

修复了以下问题:private configure 命令在尝试为私有云进行配置时抛出错误。

233315475 bug

修复了以下问题:json2xml plugin在将响应从 JSON 转换为 XML 时以及与 accumulate-response plugin结合使用时会发生解析错误。

221432797 换乘

基础 Edge Microgate 映像的 Docker Node.js 版本已升级到 Node.js 14。

215748732 功能

revokekeys 命令增加了对 SAML 令牌身份验证的支持。

您现在可以使用 revokekeys 命令中的 -t 选项传递 SAML 令牌,而不是用户名和密码凭据。

如需了解详情,请参阅命令行参考文档

218723889 文档更新

本文档已更新,添加了指向 GitHub 上存储的受支持 Edge Microgate 插件的链接。请参阅与 Edge Microgate 捆绑的现有插件

安全问题已解决

问题 ID 说明
CVE-2021-23413 这会影响 3.7.0 之前的软件包 jszip。创建新 ZIP 文件并将文件名设为对象原型值(例如 proto、toString 等),会生成返回的对象以及修改后的原型实例。

3.3.0

2022 年 2 月 4 日,我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.3.0 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

bug 修复和增强功能

问题 ID 类型 说明
219556824 已知问题 Edge Microgate Gateway 3.3.0 与 npm review fix 命令不兼容。

运行 npm audit fix 会导致 apigeetool 升级到 0.15.2,而这会影响 edgemicro upgradeauth 命令。

如果您先执行 npm audit fix,随后再执行 edgemicro upgradeauth,则会看到以下错误:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

如需纠正此问题,请执行以下命令以恢复 apigeetool 的正确版本:

npm install apigeetool@0.15.1

此问题将在未来的 Edge Microgate 版本中得到解决。

138622990 功能

配额插件 isHTTPStatusTooManyRequestEnabled 的新标志将插件配置为在出现配额违规时返回 HTTP 429 响应状态而不是状态 403。请参阅配额的配置选项

192534424 bug

修复了以下问题:Apigee Analytics 中显示的响应代码与 Edge Microgate 响应代码不一致。

198986036 增强选项 现在,Edge Microgate 会在每个轮询间隔提取身份提供方 (IDP) 的公钥,并在 IDP 的公钥发生变化时更新该密钥。以前,如果 IDP 的公钥发生更改,extauth 插件无法在不重新加载 Edge Microgate 的情况下更新公钥。
168713541 bug

完善了文档,介绍了如何为多个目标配置 TLS/SSL。 请参阅使用客户端 SSL/TLS 选项

171538483 bug

更改了文档以更正日志文件命名惯例。请参阅日志文件命名惯例

157908466 bug

更改了文档,以正确说明如何安装特定版本的 Edge Microgate 网关。如果您连接到互联网,请参阅升级 Edge Microgate

215748427 bug 修复了以下问题:使用现有密钥和密钥令牌对撤消密钥时,revokekeys 命令返回错误。
205524197 bug 更新了文档,添加了日志记录级别的完整列表。请参阅 edgemicro 属性如何设置日志记录级别

版本 3.2.x

问题修复和增强功能 v.3.2.x

3.2.3

2021 年 9 月 17 日,我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.2.3 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

bug 修复和增强功能

问题 ID 类型 说明
192416584 功能

通过 disableStrictLogFile 配置属性,您可以放宽对应用日志文件 api-log.log 的严格文件权限。如需了解详情,请参阅如何放宽日志文件权限

192799989 功能

通过 on_target_response_abort 配置属性,您可以控制在客户端 (Edge Microgate) 与目标服务器之间的连接提前关闭时,Edge Microgate 的行为方式。如需了解详情,请参阅 edgemicro 属性

148062415 bug 修复了以下问题:在 Docker 容器上下文中,Edge Microgate 没有使用 docker stop {containerId} 命令正常关闭。进程已终止,但 .sock.pid 文件未移除。现在,这些文件已被移除,并且重启同一容器可以按预期工作。
190715670 bug 修复了以下问题:在微网关的内部重新加载活动期间,某些请求卡住。此问题属于间歇性问题,发生于高流量情况下。 使用 OAuth 插件的 tokenCachecacheKey 功能时,会出现此问题。
183910111 bug 修复了以下问题:以斜杠结尾的资源路径网址被错误地解读为单独的资源路径。例如,现在会将路径 /country/all/country/all/ 解释为同一路径。

安全问题已解决

问题 ID 说明
CVE-2020-28503 2.0.5 之前的软件包 copy-prop 易通过主要功能受到原型污染。
CVE-2021-23343 所有版本的软件包路径解析都容易受到通过 splitDeviceRe、splitTailRe 和 splitPathRe 正则表达式进行的正则表达式拒绝服务攻击 (ReDoS)。ReDoS 展示了多项最差时间复杂度。

3.2.2

2021 年 7 月 15 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.2.2 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

bug 修复和增强功能

问题 ID 类型 说明
185323500 换乘

expires_in 值已从字符串更改为整数

令牌请求和刷新令牌请求 API 现在会返回 expires_in 作为一个整数值(以秒为单位)。

为了符合 RFC 6749 OAuth 2.0 授权框架expires_in 配置参数的预期值已从字符串更改为整数。如需了解详情,请参阅操作和配置参考文档

188492065 换乘 终止对 Node.js 8 的支持

从 3.2.2 版开始,Node.js 8 将不再受支持。如需了解详情,请参阅支持的软件和支持的版本:Edge Microgate

183990345 功能 为 Docker 容器配置日志输出

借助 Edge Microgate 配置参数 to_console,您可以选择将日志信息发送到标准输出,而不是发送到日志文件。如果您按照相关步骤在 Docker 容器中运行 Edge Microgate,该容器默认会将 stdout 和错误输出重定向到位于该容器内的一个文件:${APIGEE_ROOT}/logs/edgemicro.log

为防止将日志信息发送到 edgemicro.log,请在运行容器时使用新的 LOG_CONSOLE_OUTPUT_TO_FILE 变量。

如需详细了解如何使用此新变量,请参阅为 Edge Microgate 使用 Docker

183057665 功能 使 edgemicro.pidedgemicro.sock 文件路径可配置。

用于使用 Edge Microgate 运行 Docker 容器的新 -w, --workdir 参数可让您指定应在 Docker 容器中创建 edgemicro.sockedgemicro.pid 文件的目录的路径。请参阅为 Edge Microgate 使用 Docker

191352643 功能 Edge Microgate 的 Docker 映像已更新为使用 NodeJS 12.22 版。请参阅为 Edge Microgate 使用 Docker

安全问题已解决

问题 ID 说明
CVE-2021-28860 在 Node.js mixme 中,在 v0.5.1 之前,攻击者可以使用 mutate() 和 merge() 函数通过“__proto__”添加或更改对象的属性。污染属性将直接分配给程序中的每个对象。这会导致程序的可用性面临潜在拒绝服务攻击 (DoS) 的风险。
CVE-2021-30246 在适用于 Node.js 的 jsrsasign 软件包(10.1.13)中,一些无效的 RSA PKCS#1 v1.5 签名会被误认为有效。注意:尚无已知的实际攻击。
CVE-2021-23358 1.13.0-0、1.13.0-2 之前、1.3.2 和 1.12.1 之前的软件包下划线很容易遭到通过模板函数进行任意代码注入,尤其是当变量属性作为参数传递时(因为它未经排错)。
CVE-2021-29469 Node-redis 是 Node.js Redis 客户端。在 3.1.1 版之前,当客户端处于监控模式时,正则表达式开始用于检测监控消息可能会导致某些字符串出现指数回溯。此问题可能会导致拒绝服务攻击。此问题已在版本 3.1.1 中得到修补。
CVE-2020-8174 Docker 映像已更新为使用 Node.js 12.22 版

3.2.1

2021 年 3 月 5 日(星期五),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.2.1 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

bug 修复和增强功能

问题 ID 类型 说明
180362102 bug 修复了以下问题:JWK 键具有 null 值会导致应用失败。

系统现在会处理 null 条件,以避免在 jwkPublicKeys 中传递 null 值。

注意:此修复要求您升级 edgemicro-auth 代理。

179971737 bug 修复了以下问题:目标 4XX / 5XX 状态响应会被记录为 edgemicro_* 代理的代理错误。

对于 Edge Microgate 事务,Apigee Edge 错误代码分析信息中心会显示错误的目标错误计数。目标错误的错误代码被计为代理错误。此问题已得到解决,现在会显示正确的目标错误数。

179674670 功能 添加了一项新功能,可让您根据商品状态代码过滤放置在 JWT 中的 API 产品列表。

API 产品有三种状态代码:待处理、已批准和已撤消。 edgemicro-auth 代理的设置 JWT 变量政策中添加了一个名为 allowProductStatus 的新属性。如需使用此属性过滤 JWT 中列出的 API 产品,请执行以下操作:

  1. 在 Apigee 代理编辑器中打开 edgemicro-auth 代理。
  2. allowProductStatus 属性添加到 SetJWTVariables 政策的 XML 中,并指定要过滤的状态代码列表(以英文逗号分隔)。例如,如需按待处理已撤消状态进行过滤,请使用以下代码:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

    如果您只想列出已批准的产品,请按如下方式设置属性:

    <Property name="allowProductStatus">Approved</Property>
  3. 保存代理。

    如果没有 Property 标记,则 JWT 中会列出具有所有状态代码的商品。

    如需使用以下新属性,您必须升级 edgemicro-auth 代理。

178423436 bug 在 CLI 中传递或通过环境变量传递的键和 Secret 值在进程浏览器命令行参数中可见。

报告了一个问题:启动微网关后,通过命令行参数传递或通过环境变量设置的 Edge Microgate 密钥值和 Secret 值会显示在节点工作器/子进程的参数中。

若要针对环境变量场景解决此问题,进程浏览器命令行参数中将不再显示相关值。

如果在启动微网关时在命令行中传递密钥值和 Secret 值,则相应设置会取代任何环境变量值(如有)。在这种情况下,这些值仍会显示在进程浏览器命令行参数中。

178341593 bug 修复了 apikeys 插件的文档错误。

apikeys 插件的 README 文件中错误地包含 gracePeriod 属性。我们已从 README 中移除了此属性及其说明。

gracePeriod 属性在 oauth 插件中实现。如需使用宽限期功能,您必须使用 oauth 插件。

179366445 bug 解决了发送到目标的所有 GET 请求载荷都丢失的问题。

您可以使用新的配置参数 edgemicro: enable_GET_req_body 控制期望的行为。如果设置为 true,请求标头 transfer-encoding: chunked 会添加到所有 GET 请求中,并会向目标发送一个 GET 载荷(如果存在)。如果为 false(默认值),则系统会在请求发送到目标之前以静默方式移除载荷。

例如:

edgemicro:
 enable_GET_req_body: true

根据 RFC 7231 第 4.3.1 节:GET,GET 请求载荷没有定义的语义,因此可以发送到目标。

3.2.0

2021 年 1 月 21 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.2.0 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

bug 修复和增强功能

问题 ID 类型 说明
152640618 bug 启用了 extauth 插件,以便将 x-api-key 标头设置为在令牌有效时包含请求对象的 client_idx-api-key 随后可供后续插件使用。
168836123、172295489、176462355、176462872 功能 添加了对 Node.js 14 的支持。
172376835 bug edgemicro-auth 代理中的 /token 端点使用正确的时间单位。

修复了 edgemicro-auth 代理中的 /token 端点以毫秒为单位返回 expires_in 的问题;不过,根据 OAuth 规范,它应该与 refresh_token_expires_in 的时间单位(即秒)保持一致。

此修复只会更改时间单位,而不会更改过期时间的长度。它仅适用于访问令牌响应载荷中的 expires_in 字段。同一响应载荷中的 JWT 令牌将包含两个字段:iatexp。它们是正确生成且一直采用 seconds 时间单位。

如果客户端一直依赖于 expires_in 值(以毫秒为单位)在令牌过期之前刷新令牌,则在不修改客户端的情况下应用此修复会导致刷新频率更高且毫无必要。需要修改这些客户端以反映时间单位变更,以保持原始行为。

如果客户端一直使用 JWT 令牌中的值来评估令牌刷新周期,则客户端不需要更改。

173064680 bug 解决了以下问题:微网关会在所有数据区块处理完毕之前终止目标请求。

这是针对高载荷大小请求的间歇性问题,该问题是在 3.1.7 版本中引入的。

174640712 bug 向插件添加适当的数据处理。

以下插件中添加了适当的数据处理功能:json2xmlaccumulate-requestaccumulate-responseheader-uppercase。如需了解插件详情,请参阅 microgate-plugins

版本 3.1.x

问题修复和增强功能 v.3.1.x

3.1.8

2020 年 11 月 16 日(星期一),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.8 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

bug 修复和增强功能

问题 ID 类型 说明
169201295 bug 环境变量标记中的数值和布尔值解析有误。

环境变量替换处理会将所有值解析为字符串,这会导致布尔值或数值的解析错误。例如,edgemicro.port 需要数值且需要数值。修复了一些问题,以支持布尔值和数值。如需了解配置详情,请参阅使用环境变量值设置配置属性

169202749 bug 在某些情况下,环境变量替换不起作用。

环境变量替换处理对某些配置属性不起作用。如需了解限制,请参阅使用环境变量值设置配置属性

168732942 bug 修复了 OAuth 范围未按预期限制 API 代理访问权限的问题。

由于以下两种不同情况,edgemicro-auth 代理中的 /token 流生成的 JWT 没有在 Edge 上定义正确的产品范围:1) 发送到 /token 流的请求载荷未传递范围参数,或 2) 请求载荷中向 /token 流传递了无效范围。已修复此问题,目前可返回 Apigee Edge 上的 API 产品中定义的所有范围。

170609716 bug 修复了 edgemicro-auth 代理中的 /refresh 流生成不带 apiProductList 的 JWT 的问题。

170708611 bug 自定义插件无法使用 API 产品范围。

API 产品范围不适用于自定义插件,也未写入缓存配置文件。如需了解如何让插件访问范围详情,请参阅 插件 init() 函数简介

169810710 功能 保存在缓存配置文件中的键和密钥。

系统每次重新加载/启动时,都会将 Edge Microgate 密钥和密钥保存在缓存配置 yaml 文件中。在 3.1.8 中,键和密钥不再保存在缓存配置文件中。如果键和密钥之前写入了缓存配置文件中,则它们将被移除。

170708621 功能 无法停用分析插件。

在以前的微网关版本中,分析插件默认处于启用状态,且无法停用。3.1.8 版中引入了新的配置参数 enableAnalytics,用于启用或停用分析插件。如需了解详情,请参阅配置参考文档

159571119 bug 自定义插件中响应/套接字超时的 onerror_request 钩子出现 null 错误。

修复了以下问题:为 onerror_request 事件填充正确的 HTTP 状态代码和错误消息,并为 onerror_response 事件填充正确的错误消息。

3.1.7

2020 年 9 月 24 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.7 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

bug 修复和增强功能

问题 ID 类型 说明
131708105 bug analytics 插件错误处理了来自 axpublisher 调用的 null 响应,并导致 worker 退出。

133162200 bug 数据分析中未使用由未经授权的商品资源路径引起的 403 状态响应或由过期或无效令牌引起的 401 响应,在数据分析中未填充开发者应用信息。

132194290 bug 如果 Apigee Edge 拒绝某些分析记录,分析记录将被舍弃。

158618994 bug Redis 客户端连接过多。

161404373 bug 如果收到 404 状态响应,响应消息中将包含完整的代理 URI。
166356972 bug

使用 Node.js 12.13.x 或更高版本运行 Edge Microgate 时,在执行可转换请求载荷的插件时导致以下错误

{"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}

168681746 bug 使用 redisBasedConfigCache:true 的 Edge Microgate 手动重新加载不起作用。

149256174 bug 系统不会因网络故障而记录 OAuth 插件错误。

166517190 bug Synchronizer 未存储和提取 jwk_public_keys 数据,这些数据存储在 Redis 中。

141659881 bug 对无效目标证书的处理方式出现误导性错误响应。

142808699 bug 访问控制插件未正确处理“allow”和“deny”部分。

现在,微网关会正确处理拒绝部分,并遵循“allow”和“deny”部分的顺序。微网关配置文件中新增了 noRuleMatchAction 属性,以与 Apigee Edge 访问权限控制政策保持一致。另请参阅 GitHub 上的访问权限控制插件 README

3.1.6

2020 年 8 月 20 日,星期四,我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.6 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

bug 修复和增强功能

问题 ID 类型 说明
163711992 功能 rotatekey 命令的自定义密钥和证书文件位置选项。

如需详细了解这些新命令选项,请参阅轮替密钥

154838259 bug 修复多个数据中心内多实例的密钥轮替问题

如需详细了解这些新命令选项,请参阅轮替密钥

145525133 Alpha 版功能 新插件指标

如需了解详情,请参阅 GitHub 上的 新插件指标自述文件。

159396879 bug 移除未使用的软件包帮助程序
161092943 bug 基本路径验证不正确

在 3.1.6 版之前,当基本路径未以 / 结尾时,代理基本路径的匹配不正确。

下面进一步说明了之前的行为(在 3.1.6 中已修复):

假设代理配置了基本路径 /hello/v1 和指向 https://mocktarget.apigee.net 的目标路径。现在,假设代理收到以下请求:

请求路径 已解析的路径 结果
/hello/v1/json https://mocktarget.apigee.net/json 已解析路径正确无误,因为 /hello/v1 的基本路径正确匹配。
请求路径 已解析的路径 结果
/hello/v1json https://mocktarget.apigee.netjson 解析的路径不正确,因为 /hello/v1/hello/v1json 的子字符串。由于 /hello/v1json 不是有效的路径,因此 Edge Microgate 应该抛出 404。在 3.1.6 版及更高版本中,在这种情况下,系统会抛出 404 错误。
160431789 bug 自定义插件 - 传递给 init 的配置对象未填充

与 Edge Microgate 配置文件合并后,Apigee Edge 配置会在所有自定义插件的配置对象中提供。请参阅配置

162758808 bug Redis 后备存储空间的新配额配置

您可以使用以下配置来指定 Redis 后备存储空间的配额。如需了解详情,请参阅使用 Redis 后备存储空间中的配额

3.1.5

2020 年 6 月 26 日(星期五),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.5 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

bug 修复和增强功能

问题 ID 类型 说明
159210507 功能 用于排除插件处理的配置

新增了一个配置功能,用于跳过处理指定网址的插件。如需了解详情,请参阅 为插件配置排除网址

156986819、158529319 bug 修复了 json2xml 插件的问题

修复了以下问题:插件生成重复的 Content-Type 标头,以及在某些情况下标头无法按预期发送到目标。

156560067、159688634 功能

在配置中使用环境变量值

添加了一项功能,允许您使用配置文件中的标记指定环境变量。指定的环境变量标记将替换为实际的环境变量值。 替换内容仅存储在内存中,不会存储在原始配置或缓存文件中。如需了解详情,请参阅 使用环境变量值设置配置属性

155077210 bug 修复了日志格式问题。

修复了目标主机出现在日志后附加了无关冒号的问题。

153673257 bug

(仅适用于 Private Cloud)未拉取微网关感知型产品

修复了无法拉取微网关感知型产品的问题。只有在使用 Private Cloud 的情况下,Edge 才会出现此问题。

154956890、155008028、155829434 功能 支持按自定义属性过滤下载的商品

如需了解详情,请参阅按自定义属性过滤商品

153949764 bug 修复了以下问题:当日志目标文件已满时,Edge Microgate 进程发生崩溃

改进了异常处理,以捕获错误并向控制台输出消息。

155499600 bug 修复了与密钥轮替和 KVM 升级相关的问题

另请参阅轮替 JWT 密钥

3.1.4

2020 年 4 月 23 日(星期五),我们发布了针对 Edge Microgate 的以下修复。

bug 修复

修复了版本 3.1.3 中的依赖项问题。版本 3.1.3 在 npm 代码库中已标记为已弃用。此外,版本 3.1.3 的版本说明中所述的所有 bug 修复和增强功能都适用于此版本。

3.1.3

2020 年 4 月 15 日(星期三),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.3 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

bug 修复和增强功能

  • 153509313 - 修复了 Node.js 调试模块会导致内存泄漏的问题。此问题在版本 v3.1.0、v3.1.1 和 3.1.2 中存在。
  • 153509313 - 修正了以下问题:在日志记录输出中,两个不同事务的同一消息 ID 会输出。
  • 151673570 - 修复了 Edge Microgate 未更新为使用新的 Apigee KVM API 的问题。Edge Microgate 现在会使用新命令来添加和更新 KVM 值。
  • 152822846 - 在先前的版本中,Edge Microgate 已更新,现在的资源路径映射处理方式与 Apigee Edge 的处理方式一致。在此版本中,修复了未正确处理 /literal_string/* 模式的问题。例如/*/2/*。另请参阅 配置“/”“/*”和“/**”的资源路径的行为
  • 152005003 - 进行了更改,以便为配额启用组织和环境范围的标识符。
  • 152005003 - 进行了更改,以便为配额启用组织和环境范围的标识符。“org + env + appName + productName”的组合用作配额标识符。

3.1.2

2020 年 3 月 16 日(星期一),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.3 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

bug 修复和增强功能

  • 151285018 - 进行了功能增强,针对 Edge Microgate 和后端目标之间的流量添加了 HTTP 代理支持。此外,还修复了 Edge Microgate 和 Apigee Edge 之间现有 HTTP 代理支持的问题。如需了解详情,请参阅:
  • 149101890 - 目标服务器或负载平衡器关闭其连接的情况的日志通知代码从 ERROR 更改为 INFO。
  • 150746985 - 修复了以下问题:当配置文件中存在 redisBasedConfigCache: truequotaUri: https://%s-%s.apigee.net/edgemicro-auth 时,edgemicro verify 命令会无法正常运行。
  • 151284716 - 进行了一项增强功能,可以在重新加载期间重新启动工作器时更快地关闭服务器连接。
  • 151588764 - 将用于在 Docker 容器中运行 Edge Microgate 的 Docker 映像中的 Node.js 版本更新为 12,因为 Node.js v8 已废弃。
  • 151306049 - 进行了文档更新,以列出 Edge Microgate CLI 命令使用的 Apigee Edge 管理 API。请参阅 Edge Microgate 使用哪些管理 API?

3.1.1

在 2 月 20 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.1 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

bug 修复和增强功能

  • 146069701 - 修复了 microgateway-core 模块不遵循 HTTP_PROXYHTTPS_PROXY 环境变量的问题。进行此更改后,现在系统会忽略 YAML 配置文件中的代理设置(如果已指定);仅使用环境变量来指定代理。

    如果要在配置文件中指定代理配置,您还必须指定 HTTP_PROXY 变量,该变量会提及与配置文件中指定的网址相同的代理网址。例如,如果您指定以下配置:

    edge_config:
      proxy: http://10.128.0.20:3128
      proxy_tunnel: true
    

    您还必须指定以下环境变量:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620 - 添加了新的配置参数 edgemicro.headers_timeout。此属性会限制 HTTP 解析器等待接收完整 HTTP 标头的时间(以毫秒为单位)。例如:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    在内部,该参数会在请求中设置 Node.js Server.headersTimeout 属性。(默认值:比使用 edgemicro.keep_alive_timeout 设置的时间多 5 秒。此默认设置可防止负载平衡器或代理错误地丢弃连接。)

  • 149278885 - 新增了一项功能,允许您在 API 代理级别设置目标 API 超时,而不是使用一种全局超时设置。

    如果您在 API 代理中设置了 TargetEndpoint 属性 io.timeout.millis,Edge Microgate 将能够检索该属性,并应用目标端点特有的超时设置。如果未应用此参数,Edge Microgate 将使用由 edgemicro.request_timeout 指定的全局超时时间。

3.1.0

在 1 月 21 日(星期二),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.1.0 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

bug 修复和增强功能

  • 144187500 - 当 quotas.failOpen 标志触发时,系统会记录一个新的警告级别事件。如果发生配额处理错误或向 Edge 发出的“配额应用”请求无法更新远程配额计数器,则会触发此标志。在这种情况下,将仅根据本地计数处理配额,直到下次成功同步远程配额。以前,只有在日志级别设置为 DEBUG 时,系统才会记录此事件。

    例如:

    2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][]
    [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not
    available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60]
    [GET][][][][]
  • 145023519 - 修复了以下问题:每当 Edge Microgate 检测到 API 代理发生更改时,传输中的交易或新交易都会受到影响。现在,当更改代理时,Edge Microgate 会刷新缓存,而工作器节点会重启。进行此更改后,发送到微网关的传输中的事务和新 API 调用不会受到影响。
  • 146378327 - sourceRequesttargetRequesttargetResponse 的日志级别已更改为 INFO 级别。
  • 146019878 - 针对 Edge Analytics 和 Edge Microgate sourceResponse/targetResponse 日志事件中的“API 代理性能”计算的延迟时间之间的差异已得到修复。现在,边缘分析和 Microgate 日志事件中的延迟时间一致。
  • 与模式匹配逻辑相关的变更:
    • 147027862 - OAuth 插件已更新,支持 API 产品中指定的以下资源路径匹配模式:
      • /{literal}**
      • /{literal}*
      • 上述两种模式的任意组合

      进行此更改后,Edge Microgate 插件现在遵循与 Apigee Edge 相同的模式匹配方式,如配置“/”“/*”和“/**”的资源路径的行为中所述。

    • 145644205 - 更新了 apiKeys 插件的模式匹配逻辑,以匹配 OAuth 插件。
  • 143488312 - 修复了以下问题:客户端 ID 参数的开头或结尾空格导致 OAuth 令牌和 API 密钥请求的 JWT 产品列表创建为空。
  • 145640807 和 147579179 - 新增了一项功能,允许一个名为“同步器”的特殊 Edge Microgate 实例从 Apigee Edge 检索配置数据,并将其写入本地 Redis 数据库。然后,您可以将其他微网关实例配置为从数据库中读取其配置数据。此功能为 Edge Microgate 提供了更高的弹性水平。它允许微网关实例启动并正常运行,而无需与 Apigee Edge 通信。如需了解详情,请参阅使用同步器

    Syncrhonizer 功能目前支持与 Redis 5.0.x 配合使用。

版本 3.0.x

问题修复和增强功能 v.3.0.x

3.0.10

11 月 8 日(星期五),我们发布了 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.0.10 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

bug 修复和增强功能

  • 142677575 - 进行了功能更新,以便 Edge Microgate 的 API 产品中使用的资源路径的模式匹配现在与 Apigee Edge 使用的资源路径模式匹配保持一致,如 配置“/”“/*”和“/**”的资源路径的行为中所述。

    注意:如果您使用 /*/2/** 等复合资源模式,则必须确保将 edgemicro_auth 代理添加到独立的 API 产品中。然后,您必须将该产品添加到代理的开发者应用中,如以下屏幕截图所示:

    alt_text

    注意:Edge Microgate 不支持 features.isSingleForwardSlashBlockingEnabled 配置属性,如 配置“/”“/*”和“/**”的资源路径的行为中所述。

  • 143740696 - quotas 配置结构已更改(另请参阅版本 3.0.9 的版本说明)。quotas 属性用于配置配额插件。对结构进行更改是为了提高配置元素的清晰度。 如需配置配额插件,请使用以下 YAML 配置。请注意,此配置属性称为 quotas。 如需详细了解各个 quotas 配置属性,请参阅 配额的配置选项

    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - quota
    quotas:
      bufferSize:
        hour: 20000
        minute: 500
        default: 10000
      useDebugMpId: true
      failOpen: true
    ...
  • 141750056 - 新增了一项功能,允许您将 Redis 用作配额后备存储空间。如果 useRedis 为 true,则使用 volos-quota-redis 模块。 如果为 true,则配额仅限于连接到 Redis 的 Edge Microgate 实例。如果为 false,则 volos-quota-apigee 模块将用作后备存储空间,并且配额计数器为全局值。如需了解详情,请参阅 配额的配置选项。例如:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210 - edgemicro-auth 代理生成的令牌的默认到期时间已从 108000 毫秒(1.8 分钟)更改为 1800 秒(30 分钟)。
  • 143551282 - 为了支持已启用 SAML 的组织,更新了 edgemicro genkeys 命令以包含 ‑‑token 参数。此参数可让您使用 OAuth 令牌(而不是用户名/密码)进行身份验证。如需了解详情,请参阅 生成密钥

3.0.9

10 月 11 日(星期五),我们发布了 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.0.9 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

bug 修复和增强功能

  • 141989374 - 为配额插件新增了“应急开启”功能。 启用此功能后,如果发生配额处理错误或向 Edge 的“配额应用”请求无法更新远程配额计数器,系统将仅根据本地计数处理配额,直到下次成功同步远程配额为止。在这两种情况下,请求对象中都会设置 quota-failed-open 标志。

    如需启用配额“应急开启”功能,请设置以下配置:

    quotas :
     failOpen : true

    注意:此外,OAuth 插件的 fail-open 请求对象标志的名称已更改为 oauth-failed-open

  • 142093764 - 对 edgemicro-auth 代理进行了配置更改,以防止发生配额超限。此更改是将配额类型设置为 calendar。如需使用此改进功能,您必须将 edgemicro-auth 更新到 3.0.7 或更高版本。
  • 142520568 - 新增了一项功能,用于在配额响应中记录 MP(消息处理器)ID。如需使用此功能,您必须将 edgemicro-auth 代理更新到 3.0.7 或更高版本,并设置以下配置:
    quotas:
      useDebugMpId: true

    设置 useDebugMpId 后,Edge 的配额响应将包含 MP ID 并由 Edge Microgate 记录。例如:

    {
        "allowed": 20,
        "used": 3,
        "exceeded": 0,
        "available": 17,
        "expiryTime": 1570748640000,
        "timestamp": 1570748580323,
        "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
    }

3.0.8

9 月 26 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.0.8 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

bug 修复和增强功能

  • 140025210 - 新增了“应急开启”功能。如果由于连接错误(阻止对 edgemicro-auth 代理成功调用 API 密钥验证)而无法刷新过期的 JWT 令牌,此功能允许 API 处理继续。

    利用该功能,您可以设置一个宽限期,在此期限内旧令牌将保留在缓存中并可在宽限期到期之前重复使用。借助此功能,Edge Microgate 可以在出现临时连接故障时继续处理请求。当连接恢复且“Verify API 密钥”调用成功时,系统将提取新的 JWT 并替换缓存中的旧 JWT。

    如需配置新的“应急开启”功能,请执行以下操作:

    1. 在 Edge Microgate 配置文件的 oauth 节中设置以下属性:
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      例如:

      oauth:
        failOpen: true
        failopenGraceInterval: 5
        cacheKey: true
        ...

      在此示例中,如果旧令牌因连接问题而无法刷新,则将使用 5 秒钟。 5 秒钟后,系统将返回身份验证错误。

  • 141168968 - 进行了更新,以便在所有插件日志输出中包含 correlation_id。 此外,一些日志的日志级别已根据需要更改为 error
  • 140193349 - 对 edgemicro-auth 代理进行了更新,要求在每次“验证 API 密钥”请求时验证 Edge Microgate 密钥和密钥。Edge Microgate 已更新为始终在每个“验证 API 密钥”请求中发送密钥和密钥。此更改可防止客户端仅使用 API 密钥获取 JWT。
  • 140090250 - 添加了有关配额处理的诊断记录功能的更新。进行此更改后,您现在可以将日志输出与 Edge Microgate 日志的其余部分相关联。

3.0.7

9 月 12 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

组件版本

下表列出了与 Edge Microgate 3.0.7 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主产品版本不一致:

microgateway core 配置 插件 edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

bug 修复和增强功能

  • 140075602 - 对 OAuth 插件进行了更新,以在适当的情况下返回 5xx 状态代码。以前,插件在所有非 200 情况下仅返回 4xx 状态代码。现在,对于不是 200 状态的任何消息响应,系统将返回确切的 4xx 或 5xx 代码,具体取决于错误。

    此功能默认处于停用状态。如需启用此功能,请将 oauth.useUpstreamResponse: true 属性添加到您的 Edge Microgate 配置。例如:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623 - 在版本 3.0.6 中,新增了一个配置属性 quota.quotaUri。 如果您希望通过部署到贵组织的 edgemicro-auth 代理来管理配额,请设置此配置属性。如果未设置此属性,则配额端点默认为内部 Edge Microgate 端点。例如:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    在版本 3.0.7 中,edgemicro-auth 已更新为接受此新配置。如需使用 quotaUri 属性,您必须升级到最新的 edgemicro-auth 代理。如需了解详情,请参阅 升级 edgemicro-auth 代理。

  • 140470888 - 向配额调用添加了 Authorization 标头,以提供身份验证。此外,还修改了 edgemicro-auth 代理,以从配额标识符中移除“organization”。由于配额端点位于客户组织中,因此不再需要配额标识符。
  • 140823165 - 以下属性名称:
    edgemicro:
        keepAliveTimeout

    已在版本 3.0.6 中记录错误。正确的属性名称应为:

    edgemicro:
        keep_alive_timeout
  • 139526406 - 修复了以下 bug:如果开发者应用有多个产品,就会出现配额计数错误。现在,对于包含多个商品的应用中的每个商品,系统现在都会正确强制执行配额。“appName + productName”的组合用作配额标识符。

3.0.6

在 8 月 29 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

  • 138633700 - 添加了新的配置属性 keepAliveTimeout。通过此属性,您可以设置 Edge Microgate 超时(以毫秒为单位)。(默认值:5000 毫秒)

    例如:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 - 添加了新的配置属性 quotaUri。如果您希望通过部署到贵组织的 edgemicro-auth 代理来管理配额,请设置此配置属性。如果未设置此属性,则配额端点默认为内部 Edge Microgate 端点。例如:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    如需使用此功能,您必须先将最新版本的 edgemicro-auth 代理部署到您的组织。如需了解详情,请参阅 升级 Edgemicro-auth 代理

  • 138722809 - 添加了新的配置属性 stack_trace。通过此属性,您可以控制是否在日志文件中显示堆栈轨迹。例如:
    stack_trace: false

    如果 stack_trace 设置为 true,堆栈轨迹将在日志中输出。如果设置为 false,则系统不会在日志中输出堆栈轨迹。

3.0.5

在 8 月 15 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

已修复 bug
  • 139005279 - 修复了 edgemicro status 命令无法返回正确数量的工作器进程的问题。
  • 138437710 - 修复了 ExitCounter 类中的一个问题,该问题会导致无法写入正确的日志。
常规日志消息改进
  • 139064652 - 添加了为事件日志和系统日志添加 tracedebug 日志记录级别的功能。目前,我们仅添加了添加这些日志级别的功能。目前,可用的日志级别为 infowarnerror
  • 139064616 - 所有控制台日志语句的日志输出都已标准化。控制台日志记录语句现在包含以下属性:
    • 时间戳
    • 组件名称
    • 进程 ID
    • 控制台日志消息
改进了 JWT 密钥和密文日志消息
  • 138413755 - 改进了以下 CLI 命令的 JWT 密钥和密文相关日志消息:cert、verify、upgradekvm、token、genkeys、revokekeys、rotatekey 和 configure。
改进了超时和连接遭拒错误消息
  • 138413577 - 添加并改进后端服务超时的错误处理方式。
  • 138413303 - 添加并改进响应和套接字超时的错误处理。
  • 138414116 - 添加了并改进“连接被拒绝”错误的错误处理方式。

3.0.4

在 8 月 1 日(星期四),我们发布了针对 Edge Microgate 的以下修复和增强功能。

  • 134445926 - 改进了内部 Edge Microgate 身份验证。
  • 137582169 - 解决了启动不需要的进程的问题。额外的进程会导致插件重新加载并使用过多的内存。 Edge Microgate 现在将进程数量保持在预期限制范围内。
  • 137768774 - 日志消息改进:
    • 清理了事务(请求)日志。
    • 根据需要添加了更多日志消息。
    • 将事务(请求)日志消息从控制台输出移到了相关日志文件。
    • 更新了控制台日志,以使用集中式日志记录功能。
  • 138321133、138320563 - 对配额缓冲区进行基本内部更改,以启用未来配额增强。

3.0.3

在 7 月 23 日(星期二),我们发布了针对 Edge Microgate 的以下修复和增强功能。

  • Logging 增强功能:现有的运行时日志使用新的 eventLog() 函数,以一致的格式捕获和记录运行时数据。日志信息包括:
    • 时间戳(ISO 8601:YYYY-MM-DDTHH:mm:ss.sssZ)。
    • 日志级别(错误、警告或信息)。
    • 主机名 - 请求标头中发出请求的主机名。
    • 进程 ID - 如果您运行的是 Node.js 进程集群,则此参数是发生了日志记录的进程的 ID。
    • Apigee 组织名称。
    • 组织中的环境名称。
    • API 代理名称。
    • 客户端 IP 地址。
    • ClientId。
    • 关联 ID(未设置)。
    • Edge Microgate 组件名称。
    • 自定义消息 - 某些对象可能会输出传递给此错误属性的其他信息。
    • 请求方法(如果是 HTTP 请求)。
    • 响应状态代码(如果是 HTTP 请求)。
    • 错误消息。
    • 错误代码 - 如果对象包含错误代码,则会在此属性中输出。
    • 所用时间。
    • 操作系统 行尾标记

    null 属性值会导致空括号 ([])。

    以下示例展示了日志格式:

    Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]

    (137770055)

  • 性能:未根据环境过滤 API 产品。此问题现已解决。(135038879)
  • 其他功能测试集成和代码质量改进。

3.0.2

2019 年 7 月 3 日(星期三),我们发布了针对 Edge Microgate 的以下修复和增强功能。

代码质量 - 代码已经过质量审核,并且代码进行了更改,以满足用户要求的质量标准。我们解决了由 JSHint 引起的代码质量错误和警告。因此,我们发现并修复了一些实际的代码错误。所有 Apigee Edge Microgate 模块都经过了此流程。请参阅 microgateway-configmicrogateway-coremicrogateway-pluginsmicrogateway 的 6 月 28 日和 7 月 2 日提交内容。 所有代码质量更改的模块都已使用内部工具进行了测试,这些工具验证了 Edge Microgate 是否符合客户使用场景的执行情况。

3.0.1

2019 年 6 月 21 日(星期五),我们发布了 Edge Microgate 的以下修复和增强功能。

  • 134834551 - 更改 Edge Microgate 支持的 Node.js 版本
    (Node.js 支持的版本:8 和 12;版本 7、9 和 11 为实验性版本)
  • 134751883 - 在负载下重新加载时,Edge Microgate 崩溃
  • 134518428 - 如果过滤模式不正确,Edge Microgate 的产品端点会返回 5XX
  • 135113408 - 如果工作器意外终止,则应重启
  • 134945852 - OAuth 插件中未使用 tokenCacheSize
  • 134947757 - 在 OAuth 插件中设置 cacheTTL
  • 135445171 - OAuth 中的宽限期计算不正确
  • 使用安装 Edge Microgate 时提供的 memored 模块
  • 135367906 - 安全审核

版本 2.5.x

新功能和增强功能 v.2.5.x

(修复版 2.5.38,2019 年 6 月 7 日)

使用令牌缓存时,格式不正确的 JWT 可能会导致工作器崩溃。在 Edge microgate-plugins 模块中进行了修复。(b/134672029)

(添加于 2.5.37 版)添加 CLI 选项 edgemicro-cert -t

通过 edgemicro cert -t 选项,您可以指定用于对管理 API 进行身份验证的 OAuth 令牌。另请参阅管理证书

(新增 2.5.35 版)添加对使用 edgemicroctl 调试 Edge Microgate 的支持。

您可以将 mgdebug 标志与 edgemicroctl 搭配使用。另请参阅 Kubernetes 集成任务

(添加于 2.5.35)为 edgemicroctl 启用 Windows 版本。

(添加于 2.5.31)新的 edgemicro-auth/token API

添加了新的 Edgemicro-auth/token API,允许您将 client/secret 作为 Base64 编码的基本授权标头传递,并将 grant_type 作为表单参数进行传递。请参阅直接获取不记名令牌

(修复 2.5.31)专用配置不遵循令牌标志

修复了以下问题:将 Edge Microgate 配置为在 Edge for Private Cloud 上使用 OAuth2 访问令牌时无法正常工作(未遵循该令牌)。

Docker:支持使用自签名证书

(新增 2.5.29)如果您使用 Node.js 默认不信任的证书授权机构 (CA),则可以在通过 Edge Microgate 运行 Docker 容器时使用参数 NODE_EXTRA_CA_CERTS。如需了解详情,请参阅使用 Node.js 不信任的 CA

Docker:支持 TLS

(添加了 2.5.29 版)对于发送到 Edge Microgate 服务器的传入请求(北向请求)以及从 Edge Microgate 发送到目标应用的传出请求(南向请求),在 Docker 容器中运行的 Edge Microgate 现在支持 TLS。

以下示例详细介绍了如何设置这些 TLS 配置:

在这些示例中,您将了解如何使用容器装载点 /opt/apigee/.edgemicro 加载证书,这些证书随后会在 Edge Microgate 配置文件中引用。

Docker:支持请求代理

(添加了 2.5.27 版)如果您在 Docker 容器中运行 Edge Microgate,当微网关在防火墙后面运行时,您可以使用这些选项来控制代理行为:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

如需了解详情,请参阅将 Edge Micro 作为 Docker 容器运行

Docker:更新了插件说明

(添加了 2.5.27 版)如果您在 Docker 容器中运行 Edge Microgate,现在可以通过两种方式部署插件。一种新的方法是使用 Docker 装载点。之前存在的另一个选项基本保持不变;不过,Dockerfile 已更新。如需了解详情,请参阅以下链接:

针对 KVM 升级命令新增了 OAuth 令牌支持

(添加于 2.5.27 版)您可以通过 upgradekvm 命令使用 OAuth 令牌。如需了解详情,请参阅升级 KVM

在 Edge Analytics 中隔离 API

(添加了 2.5.26 版)通过新的分析插件标志,您可以隔离特定的 API 路径,使其在 Edge Analytics 信息中心内显示为单独的代理。例如,您可以隔离健康检查 API,以免它们与实际的 API 调用混淆。如需了解详情,请参阅从分析中排除路径

配置本地代理

(添加于 2.5.25 版)使用本地代理后,您无需在 Apigee Edge 上手动创建微网关感知型代理。微网关将改为使用本地代理的基础路径。如需了解详情,请参阅使用本地代理模式

使用独立模式

(添加版本 2.5.25)您可以运行 Edge Microgate,它与任何 Apigee Edge 依赖项完全断开连接。此场景称为独立模式,可让您在没有互联网连接的情况下运行和测试 Edge Microgate。请参阅在独立模式下运行 Edge Microgate

撤消密钥

(添加了 2.5.19 版)新增了一个 CLI 命令,可撤消 Edge Microgate 配置的密钥和密钥凭据。

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
如需了解详情,请参阅撤消密钥

支持 Docker

(添加了 2.5.19 版)您现在可以将最新的 Edge Microgate 版本作为 Docker 映像下载:

docker pull gcr.io/apigee-microgateway/edgemicro:latest

Kubernetes 支持

(添加于 2.5.19 版)您可以将 Edge Microgate 作为服务部署,也可以作为辅助信息文件网关部署在 Kubernetes 集群中部署的服务前面。请参阅:将 Edge Microgate 与 Kubernetes 集成概览

支持 TCP 节点选项

(在 2.5.16 版中新增了)Edge Micro 配置中新增了一项配置设置 nodelay

默认情况下,TCP 连接使用 Nagle 算法在数据发送之前对其进行缓冲。将 nodelay 设置为 true 可停用此行为(每次调用 socket.write() 时,数据会立即触发数据)。如需了解详情,另请参阅 Node.js 文档

如需启用 nodelay,请按如下所示修改 Edge Micro 配置文件

edgemicro:
  nodelay: true
  port: 8000
  max_connections: 1000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

用于永久监控的新 CLI 选项

(添加了 2.5.12 版)向 edgemicro forever 命令中添加了新参数。通过这些参数,您可以指定 forever.json 文件的位置,还可以启动或停止永久后台进程。另请参阅永久监控

参数说明
-f, --file指定 forever.json 文件的位置。
-a, --action可以选择 startstop。默认值为 start。

示例:

如要永久启动:

edgemicro forever -f ~/mydir/forever.json -a start

如需永久停止,请执行以下操作:

edgemicro forever -a stop

JWT 密钥轮替

添加了一项新功能,可让您轮替用于生成 JWT 令牌的公钥/私钥对,用于在 Edge Microgate 上确保 OAuth 安全性。请参阅 轮替 JWT 密钥

过滤下载的 API 代理

默认情况下,Edge Microgate 会下载您 Edge 组织中名称前缀为“edgemicro_”开头的所有代理。您可以更改此默认值以下载名称与模式匹配的代理。请参阅 过滤下载的代理

指定不使用 API 代理的产品

在 Apigee Edge 中,您可以创建不包含任何 API 代理的 API 产品。 此产品配置允许与该产品关联的 API 密钥与贵组织中部署的任何代理配合使用。从 2.5.4 版开始,Edge Microgate 支持此产品配置。

支持永久监控

Edge Microgate 有一个 forever.json 文件,您可以通过配置该文件来控制 Edge Microgate 的重启次数和重启间隔。此文件会配置一项名为 forever-monitor 的服务,该服务以编程方式管理 Forever。请参阅 永久监控

集中管理 Edge Micro 配置文件

如果您运行多个 Edge Microgate 实例,可能希望从一个位置管理这些实例的配置。为此,您可以指定一个 HTTP 端点,Edge Micro 可以从该端点下载其配置文件。请参阅 指定配置文件端点

支持永久 CLI 选项

(添加于 2.5.8 版)使用 edgemicro forever [package.json] 命令指定 forever.json 文件的位置。添加此命令之前,配置文件必须位于 Edge Microgate 根目录中。

例如:

edgemicro forever ~/mydir/forever.json

添加了 configUrl 选项,以便重新加载命令

(添加了 2.5.8 版本)您现在可以将 --configUrl-u 选项与 edgemicro reload 命令搭配使用。

JWT 时间差异的宽限期

(新增 2.5.7 版)OAuth 配置中的 gracePeriod 属性有助于防止因系统时钟与 JWT 授权令牌中指定的不早于 (nbf) 或颁发时间 (iat) 时间之间存在细微差异而引发的错误。将此属性设置为允许出现此类差异的秒数。请参阅 OAuth 特性

(新增 2.5.7 版)OAuth 配置中的 gracePeriod 属性有助于防止因系统时钟与 JWT 授权令牌中指定的不早于 (nbf) 或颁发时间 (iat) 时间之间存在细微差异而引发的错误。将此属性设置为允许出现此类差异的秒数。请参阅 OAuth 特性

v2.5.x 中修复的 bug

  • (问题 #236)修复了清除缓存中的拼写错误。
  • (问题 #234)重新加载 Edge Microgate 2.5.35 的崩溃情况。
  • (问题 #135)使用 -v 选项时出现无效的虚拟主机引用“secure”错误。此修复会在部署之前修改 Edgemicro-auth 代理,以确保虚拟主机与“-v”标志中指定的内容完全匹配。此外,您可以为虚拟主机指定任意数量的任意名称(不再受限于默认和安全)。
  • (问题 #141)edgemicroReload 命令不支持配置文件选项 -c。此问题已解决。
  • (问题 #142)Edge Microgate 在安装时指出已废弃的加密方式。 此问题已解决。
  • (问题 #145)Edge Microgate 的配额无效。此问题已解决。
  • (Apigee 社区问题: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-拦截-api-proxies-a.html#answer-33336)已根据 OAUTH 中的 API 代理和资源 URI 验证 JWT 令牌。此问题现已解决。
  • (Apigee 社区问题:https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html)Microgate 不支持 OAuth。此问题已解决。
  • 修复了 Windows 上的 pidPath。
  • (问题 #157)已修复导致以下错误消息的问题:未定义 ReferenceError: deployProxyWithPassword
  • (问题 #169)更新 Node.js 依赖项 (npm 审核)
  • edgemicro-auth 代理现在使用 Edge JWT 政策。该代理不再依赖于 Node.js 来提供 JWT 支持。

版本 2.4.x

新功能和增强功能 v.2.4.x

1. 为 Edgemicro-auth 代理设置自定义别名 (PR 116)

您可以更改 edgemicro-auth 代理的默认基本路径。默认情况下,基本路径为 /edgemicro-auth。要进行更改,请在 edgemicro configure 命令中使用 -x 标志。

例如:

edgemicro configure -x /mypath …


2. 针对基本路径的通配符支持 (PR 77)

您可以在 edgemicro_* 代理的基本路径中使用一个或多个“*”通配符。例如,借助 /team/*/members 的基本路径,客户端可以调用 https://[host]/team/blue/membershttps://[host]/team/green/members,而无需创建新的 API 代理来支持新团队。请注意,不支持 /**/

重要提示:Apigee 不支持将通配符“*”用作基本路径的第一个元素。例如,不支持以下格式:/*/search。

3. 为 Private Cloud 配置添加了自定义配置路径 (PR 99)

默认情况下,微网关配置文件位于 ./config/config.yaml 中。在 init、配置和启动命令中,您现在可以在命令行中使用 -c--configDir 标志指定自定义配置路径。修复了无法识别用于 Private Cloud 安装的自定义配置目录的问题。

例如:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

4:尊重 *_PROXY 变量 (PR 61)

如果 Edge Microgate 安装在防火墙后面,并且无法与公有云中的 Apigee Edge 通信,您可考虑以下两种方案:

选项 1:

第一个选项是在 microgate 配置文件中将 edgemicro:proxy_tunnel 选项设置为 true:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

proxy_tunneltrue 时,Edge Microgate 会使用 HTTP CONNECT 方法在单个 TCP 连接上建立 HTTP 请求隧道。(如果用于配置代理的环境变量启用了 TLS,也是如此)。

选项 2:

第二个选项是指定代理,并在微网关配置文件中将 proxy_tunnel 设置为 false。例如:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: false

在这种情况下,您可以设置以下变量来控制要使用的每个 HTTP 代理的主机,或者哪些主机不应处理 Edge Microgate 代理:HTTP_PROXYHTTPS_PROXYNO_PROXY。您可以将 NO_PROXY 设置为 Edge Microgate 不应代理的网域列表(以英文逗号分隔)。例如:

export HTTP_PROXY='http://localhost:3786'
export HTTPS_PROXY='https://localhost:3786'

如需详细了解这些变量,请参阅:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


5:为目标请求设置自定义超时 (PR 57)

您可以使用以下配置为目标请求设置自定义超时:

edgemicro:
    request_timeout: 10

超时设置以秒为单位。如果发生超时,Edge Microgate 将返回 504 状态代码。

6. 在目标响应中遵循自定义 HTTP 状态消息 (PR 53)

Edge Microgate 会遵循为目标响应设置的自定义 HTTP 状态消息。在之前的版本中,从目标发送的状态消息已被 Node.js 默认值替换。

7. X-Forwarded-For 标头可以为分析设置 client_ip

如果存在,X-Forwarded-For 标头将设置 Edge Analytics 中报告的 client_ip 变量。此功能可让您了解向 Edge Microgate 发送请求的客户端的 IP 地址。

8. OAuth 插件变更

OAuth 插件支持 API 密钥验证和 OAuth 访问令牌验证。在此项变更之前,该插件接受了任一安全形式。进行此项更改后,您可以仅允许使用其中一种安全模型(同时保持向后兼容性)。

OAuth 插件添加了两个新标志:

  • allowOAuthOnly - 如果设置为 true,则每个 API 都必须带有包含不记名访问令牌的授权标头。

  • allowAPIKeyOnly - 如果设置为 true,则每个 API 都必须包含带有 API 密钥的 x-api-key 标头(或自定义位置)。

您可以在 Edge Microgate 配置文件中设置这些标志,如下所示:

oauth:
    allowNoAuthorization: false
    allowInvalidAuthorization: false
    keep-authorization-header: false
    allowOAuthOnly: false
    allowAPIKeyOnly: false

9. 改进了 Edgemicro-auth 代理 (PR 40)

改进了 edgemicro-auth 代理。在做出这些更改之前,代理会将密钥存储在边缘安全存储区(一个加密保险柜)中。现在,该代理将密钥存储在 Edge 的加密键值对映射 (KVM) 中。

10. 在插件中重写默认目标网址 (PR 74)

您还可以替换目标端点端口,并选择 HTTP 或 HTTPS。在插件代码中修改以下变量:req.targetPortreq.targetSecure。要选择 HTTPS,请将 req.targetSecure 设置为 true;对于 HTTP 事件,请将其设置为 false。如果您将 req.targetSecure 设置为 true,请参阅此讨论会话了解详情。

11. 对 OAuth 令牌身份验证的初步支持 (PR 125)

您可以将 Edge Microgate 配置为使用 OAuth 令牌(而不是用户名/密码)进行身份验证。如需使用 OAuth 令牌,请在 edgemicro configure 命令中使用以下参数:

-t, --token <token>

例如:

edgemicro configure -o docs -e test -t <your token>

v2.4.3 中修复的问题

  • 修复了需要付费组织才能正确运行 Edgemicro-auth 代理的问题。现在,您还可以将 Edge Microgate 与试用组织搭配使用。(PR 5)
  • 修复了流没有完成数据处理,但最终处理程序仍然会执行的问题。这会导致发送部分响应。(PR 71)
  • 修复了无法识别用于 Private Cloud 安装的自定义配置目录的问题。(PR 110)
  • 修复了客户端与 Edge Microgate 之间的双向 SSL 问题。(PR 70)
  • 修复了以下问题:代理基路径上要求有尾随斜杠,才能使 API 密钥验证正常运行。现在,基本路径末尾不需要使用尾随斜杠。(PR 48)

版本 2.3.5

新功能和增强功能 v.2.3.5

代理过滤

您可以过滤 Edge Microgate 实例将处理哪些微网关感知型代理。Edge Microgate 启动时,它会下载与其关联的组织中所有感知到微网关的代理。使用以下配置来限制微网关将处理哪些代理。例如,此配置将微网关将处理的代理限制为三个:edgemicro_proxy-1edgemicro_proxy-2edgemicro_proxy-3

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Google Analytics(分析)数据脱敏

通过新配置,您可以阻止请求路径信息显示在边缘分析中。将以下内容添加到微网关配置,以遮盖请求 URI 和/或请求路径。请注意,URI 由请求的主机名和路径部分组成。

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

版本 2.3.3

新功能和增强功能 v.2.3.3

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

停用自动更改轮询

您可以通过在微网关配置中设置以下特性来关闭自动更改轮询功能:

disabled_config_poll_interval: true

默认情况下,定期轮询会获取在 Edge 上所做的更改(对产品、微网关感知代理等所做的更改)以及对本地配置文件所做的更改。默认轮询间隔为 600 秒(五分钟)。

重写插件中的目标网址

您可以通过修改插件代码中的以下变量,在插件中动态替换默认目标网址:req.targetHostnamereq.targetPath

新插件函数签名

我们添加了一个新的插件函数签名,用于以参数形式提供目标响应。添加后,插件可以更轻松地访问目标响应。

function(sourceRequest, sourceResponse, targetResponse, data, cb)

简化了默认日志记录输出

默认情况下,日志记录服务现在会忽略下载的代理、产品和 JWT 的 JSON。您可以在启动 Edge Microgate 时,通过设置 DEBUG=* 来更改为默认输出这些对象。例如:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

向 CLI 添加了自定义配置路径

默认情况下,微网关配置文件位于 ./config/config.yaml 中。现在,您可以在 init、配置和 start 命令中使用命令行指定自定义配置路径。例如:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

v2.3.3 中修复的 bug

  • 修复了在处理大型请求/响应期间发生的内存泄漏问题。
  • 修复了插件的执行顺序。现在,它的行为方式与文档中说明的方式一致。
  • 对于 GET 请求,插件累积请求插件不再挂起。
  • 修复了累积响应插件中缺少响应正文导致错误的问题。

版本 2.3.1

安装说明

某些旧版的 Edge Microgate 允许您通过下载 ZIP 文件来安装该软件。这些 ZIP 文件已不再受支持。如需安装 Edge Microgate,您必须使用:

npm install -g edgemicro

如需了解详情,请参阅安装主题

新功能和增强功能 v.2.3.1

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

过滤代理

通过新配置,您可以过滤 Edge Microgate 将在启动时加载哪些代理。之前,microgate 加载了从您在 Edgemicro 配置命令中指定的 Edge 组织/环境拉取的所有微网关感知型代理(名为 Edgemicro_* 的代理)。通过这项新功能,您可以过滤此代理列表,使 Edge Microgate 仅加载您指定的代理列表。只需将代理元素添加到微网关配置文件中,如下所示:

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

例如,假设您的 Edge 组织/环境中有 50 个 edgemicro_* 代理,包括名为 edgemicro_fooedgemicro_bar 的代理。您可以指示微网关仅使用这两个代理,如下所示:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

微网关在启动时只能调用指定的代理。如果尝试调用从 Edge 组织/环境下载的其他微网关感知型代理,则将导致错误。

在插件中设置目标请求标头

如果要添加或修改目标请求标头,需要考虑两种基本模式:一种是传入请求包含数据(如在 POST 请求中),另一种是不含数据(如在简单的 GET 请求中)。

假设传入请求包含数据,并且您希望在目标请求上设置请求标头。在以前的 Edge Microgate 版本中,在这种情况下,无法可靠地设置目标标头。

此模式的关键是首先累积来自客户端的所有传入数据。然后,在 onend_request() 函数中,使用新函数 request.setOverrideHeader(name, value) 自定义标头。

以下示例插件代码展示了如何执行此操作。在 onend_request 中设置的标头将发送到目标:

module.exports.init = function(config, logger, stats) {


  function accumulate(req, data) {
    if (!req._chunks) req._chunks = [];
    req._chunks.push(data);
  }

  return {

    ondata_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      next(null, null);
    },

    onend_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      var content = Buffer.concat(req._chunks);
      delete req._chunks;
      req.setOverrideHeader('foo', 'bar');
      req.setOverrideHeader('content-length', content.length);
      next(null, content);
    },


    onerror_request: function(req, res, data, next) {
      next(null, null);
    }

  };

}

如果请求不包含数据,您可以在 onrequest() 处理程序中设置目标标头。此模式并不新鲜,它之前已记录过,并且已在 Edge Microgate 提供的示例插件中使用。

onrequest: function(req, res, next) {
      debug('plugin onrequest');
      req.headers['x-foo-request-id'] = "bar";
      req.headers['x-foo-request-start'] = Date.now();
      next();
    }

零停机重新加载功能

更改 Edge Microgate 配置后,您可以加载配置而不丢失任何消息。进行此更改后,Edge Microgate 始终以集群模式启动,并且 --cluster 选项已从 edgemicro start 命令中移除。

此外,还新增了三个 CLI 命令。您必须从执行 edgemicro start 命令的同一目录运行以下命令:

  • edgemicro status - 检查 Edge Microgate 是否正在运行。
  • edgemicro stop - 停止 Edge Microgate 集群。
  • edgemicro reload - 重新加载 Edge Microgate 配置,无需停机。

自动重新加载配置,无需停机

Edge Microgate 会定期加载新配置,并在发生任何更改时执行重新加载。轮询会提取对 Edge 所做的任何更改(对产品、微网关感知型代理的更改等)以及对本地配置文件所做的更改。默认轮询间隔为 600 秒(五分钟)。您可以在微网关配置文件中更改默认值,如下所示:

edgemicro:
    config_change_poll_interval: [seconds]

向 CLI 添加了版本信息

CLI 中添加了 --version 标志。如需获取 Edge Microgate 的当前版本,请使用以下命令:

edgemicro --version

新的 Edge Microgate 服务器 SSL 选项

除了 keycert 之外,Edge Microgate 现在还支持以下服务器 SSL 选项:

选项 说明
pfx pfx 文件的路径,该文件包含客户端的 PFX 格式的私钥、证书和 CA 证书。
passphrase 包含私钥或 PFX 的密码的字符串。
ca 指向包含 PEM 格式的可信证书列表的文件的路径。
ciphers 描述要使用的加密的字符串,以“:”分隔。
rejectUnauthorized 如果为 true,则根据提供的 CA 列表验证服务器证书。如果验证失败,则会返回错误。
secureProtocol 要使用的 SSL 方法。例如,SSLv3_method 将 SSL 强制设置为版本 3。
servername SNI(服务器名称指示)TLS 扩展的服务器名称。

将日志文件发送到 stdout

您可以使用新的配置设置将日志数据发送到标准输出:

edgemicro:
  logging:
    to_console: true  

请参阅 管理日志文件

版本 2.1.2

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

允许配置自定义 API 端点

授权代理新增了可配置端点,支持使用自定义身份验证服务。这些端点包括:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

如需了解详情,请参阅 使用自定义身份验证服务

版本 2.1.1

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

部署与跨平台兼容的身份验证代理

我们进行了增强,使用于将 Edge Microgate 授权代理部署到 Edge 的命令在 Windows 系统中是兼容的。

版本 2.1.0

新功能和增强功能 v.21.0

新功能和增强功能如下:

指定客户端 SSL/TLS 选项

您可以使用一组新的配置选项为目标的 SSL/TSL 连接指定客户端选项。请参阅 使用客户端 SSL/TSL 选项

版本 2.0.11

安装说明 v2.0.11

某些旧版的 Edge Microgate 允许您通过下载 ZIP 文件来安装该软件。这些 ZIP 文件已不再受支持。如需安装 Edge Microgate,您必须使用:

npm install -g edgemicro

如需了解详情,请参阅安装主题

新功能和增强功能 v.2.0.11

新功能和增强功能如下:

在启动时指定端口

借助 start 命令,您可以指定端口号以替换配置文件中指定的端口。您还可以使用 PORT 环境变量指定端口号。如需了解详情,请参阅 start 命令

可以选择保留身份验证标头

新的配置设置 keepAuthHeader 可用于保留请求中发送的 Authorization 标头。如果设置为 true,系统会将 Auth 标头传递给目标。请参阅 OAuth 属性

能够使用自定义授权服务

如果要使用自己的自定义服务处理身份验证,请将 Edge Microgate 配置文件中的 authUri 值更改为指向您的服务。如需了解详情,请参阅 使用自定义身份验证服务

版本 2.0.4

Edge Microgate v.2.0.4 已于 2016 年 5 月 25 日发布。

新功能和增强功能 v2.0.4

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

支持产品中的资源路径

Edge Microgate 现在支持产品中的资源路径。资源路径允许您根据代理路径后缀限制对 API 的访问。如需详细了解如何创建商品和配置资源路径,请参阅创建 API 产品

支持 npm 全局安装

您现在可以使用 npm -g (global) 选项安装 Edge Microgate 了。如需详细了解此选项,请参阅 npm 文档

版本 2.0.0

Edge Microgate v2.0.0 已于 2016 年 4 月 18 日发布。

新功能和增强功能 v.2.0.0

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

单进程服务器

Edge Microgate 现在是一种单进程服务器。它不再使用双进程模式,在这种模式下,一个进程(以前称为“代理”)会启动 Edge Microgate,即第二个进程。新的架构使自动化和容器化变得更简单。

命名空间型配置文件

配置文件现在使用组织和环境设置命名空间,因此多个 Microgate 实例可以在同一主机上运行。运行 Edge Microgate 配置命令后,您可以在 ~/.edgemicro 中找到这些配置文件。

新的环境变量

现在有 4 个环境变量:EDGEMICRO_ORG、EDGEMICRO_ENV、EDGEMICRO_KEY、EDGEMICRO_SECRET。如果您在系统上设置这些变量,在使用命令行界面 (CLI) 配置和启动 Edge Microgate 时,无需指定它们的值。

缓存的配置

如果 Edge Microgate 在不连接到 Apigee Edge 的情况下重启时,会使用缓存的配置文件

集群模式

现在,我们提供了以集群模式启动 Edge Microgate 的选项。借助集群模式,您可以利用多核系统。微网关采用 Node.js 集群模块来实现此功能。如需了解详情,请参阅 Node.js 文档。

v2.0.0 中修复的错误

插件事件生命周期现在可以通过新的回调函数正确处理包含代码的异步代码。

版本 1.1.2

Edge Microgate v. 1.1.2 已于 2016 年 3 月 14 日发布。

新功能和增强功能 v.1.1.2

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

性能改进

Edge Microgate 现在正确使用 Node.js HTTP 代理,以获得更好的连接池。此增强功能可提高高负载下的性能和整体稳定性。

远程调试程序支持

您可以将 Edge Microgate 配置为使用远程调试程序(例如 node-inspector)运行。

新配置文件位置

配置 Edge Microgate 时,agent/config/default.yaml 文件现在会复制到 ~./edgemicro/config.yaml

日志文件轮播

新的配置属性可让您指定 Edge Microgate 日志的轮替间隔。

v1.1.2 中修复的问题

v. 1.1.2 中修复了以下错误。

说明
与本地 Edge 结合使用的 Edgemicro-内部代理的 Java 标注现在使用正确的 MGMT 服务器。
从代理中移除了 typescript 依赖项。
修复了使用精简部署选项时出现的 CLI bug。
修复了证书逻辑依赖项引用。