Edge Microgate 版本说明

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

版本 3.3.x

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

3.3.3

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

组件版本

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

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

bug 修复和增强功能

问题 ID 类型 说明
315939218 移除内容

Eureka 客户端插件已从 Edge Microgateway 中移除。移除此 功能不会影响 Edge Microgateway 核心功能或重写目标网址。 有关详情,请参阅在插件中重写目标网址

283947053 移除内容

从 Edge Microgateway 中移除了对 forever-monitor 的支持。您 可以用 PM2 代替forever-monitor。如需了解详情,请参阅此 Apigee 社区帖子:Edgemicro + PM2:以服务形式启动 Edgemicro

已解决的安全问题

  • CVE-2023-0842
  • CVE-2023-26115
  • CVE-2022-25883
  • CVE-2017-20162
  • CVE-2022-31129
  • CVE-2022-23539
  • CVE-2022-23541
  • CVE-2022-23540
  • CVE-2024-21484
  • CVE-2022-46175
  • CVE-2023-45133
  • CVE-2020-15366
  • CVE-2023-26136
  • CVE-2023-26115

3.3.2

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 Microgateway CLI 命令仅适用于受支持的版本。正在执行 在不受支持的版本上使用 CLI 命令会导致错误。 另请参阅 Apigee 支持的软件和支持的版本

283947053 bug

修复了 Edge Microgateway 在 与应用相关联的 API 产品的列表。我们现在会确定正确的 API 产品 返回的值。

274443329 bug

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

已解决的安全问题

无。

3.3.1

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 插件在转换时发生解析错误的问题 从 JSON 到 XML 的响应,以及当与 accumulate-response 插件结合使用时。

221432797 更改

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

215748732 功能

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

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

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

218723889 文档更新

更新了文档,在其中添加了指向受支持的 Edge Microgateway 的链接 GitHub 中存储的插件。请参阅与 Edge Microgateway 捆绑的现有插件

已解决的安全问题

问题 ID 说明
CVE-2021-23413 这会影响 3.7.0 之前的软件包 jszip。使用文件名创建新的 ZIP 文件 设置为对象的原型值(例如 proto、toString 等)会导致返回的对象 修改了原型实例。

3.3.0

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 Microgateway Gateway 3.3.0 与 npm audit 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 Microgateway 版本中得到解决。

138622990 功能

配额插件的新标志 isHTTPStatusTooManyRequestEnabled 将插件配置为在发生以下情况时返回 HTTP 429 响应状态,而不是状态 403: 存在配额违规。请参阅配额配置选项

192534424 bug

修复了 Apigee Analytics 中显示的响应代码不匹配的问题 Edge Microgateway 响应代码。

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

我们完善了文档内容,说明了如何为多个目标配置 TLS/SSL。 请参阅使用客户端 SSL/TLS 选项

171538483 bug

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

157908466 bug

文档已更改,现在正确说明了如何安装 Edge Microgateway。请参阅在连接到互联网的情况下升级 Edge Microgateway

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

版本 3.2.x

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

3.2.3

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 Microgateway) 与 目标服务器过早关闭。如需了解详情,请参阅 edgemicro 属性

148062415 bug 修复了在 Docker 容器上下文中 Edge Microgateway 未关闭的问题 使用 docker stop {containerId} 命令正常向下移动。流程 已终止,但 .sock.pid 文件未移除。现在 这些文件将被移除,并按预期重启同一容器。
190715670 bug 修复了某些请求在内部重新加载活动期间卡住的问题 和 Microgateway 相关联。此问题是间歇性的,发生在高流量情况下。 在使用 tokenCachecacheKey 功能时, 使用了 OAuth 插件。
183910111 bug 修复了以斜杠结尾的资源路径网址不正确的问题 解释为单独的资源路径。举例来说,路径 /country/all/country/all/ 会被视为相同 路径。

已解决的安全问题

问题 ID 说明
CVE-2020-28503 2.0.5 之前的软件包复制属性容易受到主要功能造成的原型污染。
CVE-2021-23343 所有版本的软件包路径解析都容易受到正则表达式拒绝 通过 splitDeviceRe、splitTailRe 和 splitPathRe 正则表达式获取服务 (ReDoS)。 ReDoS 展示了多项式最坏情况下的时间复杂度。

3.2.2

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 Microgateway

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

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

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

如需详细了解如何使用以下新变量,请参阅将 Docker 用于 Edge Microgateway

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

新增了一个 -w, --workdir 参数,用于运行具有如下内容的 Docker 容器: Edge Microgateway,可让您指定 edgemicro.sockedgemicro.pid文件应 创建容器请参阅为 Edge Microgateway 使用 Docker

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

已解决的安全问题

问题 ID 说明
CVE-2021-28860 在 v0.5.1 之前的 Node.js mixme 中,攻击者可以添加或修改 对象(通过“__proto__”)通过 mutate() 和 merge() 函数传递图片。污染物 属性将直接分配给程序中的每个对象。这将 使程序的可用性面临风险,进而导致潜在的拒绝服务攻击 (DoS)。
CVE-2021-30246 在通过 10.1.13(适用于 Node.js)的 jsrsasign 软件包中,某些无效的 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 的以下修复和增强功能 Microgateway。

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 修复了具有 null 值的 JWK 密钥导致应用失败的问题。

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

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

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

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

179674670 功能 添加了一项新功能,可让您过滤放置的 API 产品 添加到 JWT 中。

API 产品有三种状态代码:待审批、已批准和已撤消。 设置 JWT 变量政策中新增了一个名为 allowProductStatus 的属性, edgemicro-auth 代理。要使用此属性,请执行以下操作 过滤 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 或通过环境变量传递的密钥和密钥值可见 。

有人报告了如下问题:原本的 Edge Microgateway 密钥和 Secret 值 无论是通过命令行参数传递的,还是通过环境变量进行设置的, 会在启动 microgateway。

如需针对环境变量场景解决此问题,值将不再可见 。

如果在启动 microgateway 时通过命令行传递键和 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 的以下修复和增强功能 Microgateway。

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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_id 请求对象。x-api-key之后, 后续插件。
168836123、172295489、176462355、176462872 功能 添加了对 Node.js 14 的支持。
172376835 bug /token edgemicro-auth 代理。

修复了 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。插件适用 请参阅 microgateway-plugins

版本 3.1.x

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

3.1.8

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 Microgateway 密钥和 Secret 每周都会保存在缓存配置 yaml 文件中。 重新加载/启动。在 3.1.8 中,键和密钥不再保存在缓存配置中 文件。如果键和密钥之前写入过缓存配置文件中, 它们将被移除

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

在以前的 microgateway 版本中,分析插件默认处于启用状态,因此无法 禁用它。版本 3.1.8 中引入了一个新的配置参数 enableAnalytics, 启用或停用分析插件。如需了解详情,请参阅配置参考

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

进行了修复,为 填充了正确的 HTTP 状态代码和错误消息 onerror_request 事件以及针对 onerror_response 个事件。

3.1.7

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 调用并导致 worker 退出。

133162200 bug Google Analytics 中未填充任何 403 状态的开发者应用信息 由未授权的商品资源路径或 401 响应引起的响应 令牌过期或无效导致的异常。

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

158618994 bug Redis 客户端连接过多

161404373 bug 如果是 404 状态响应,则完整的代理 URI 会包含在 响应消息。
166356972 bug

通过 Node.js 12.13.x 或更高版本运行 Edge Microgateway 会导致 执行转换请求载荷的插件时出现以下错误

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

168681746 bug 使用 redisBasedConfigCache:true 手动重新加载 Edge Microgateway 无法正常运行。

149256174 bug 未记录网络的 OAuth 插件错误 出现故障。

166517190 bug jwk_public_keys 数据未存储, 由 Synchronizer 提取并存储在 Redis 中。

141659881 bug 处理无效的目标证书时出错 会显示误导性的错误响应。

142808699 bug 访问控制插件无法处理“allow”和“deny”版块 正确。

现在,microgateway 会正确处理拒绝部分,并遵循 “允许”和“deny”部分。添加了新的 noRuleMatchAction 资源 添加到 microgateway 配置文件,以便与 Apigee Edge AccessControl 政策。另请参阅 GitHub 上的 Access Control Plugin README

3.1.6

我们于 2020 年 8 月 20 日(星期四)发布了 Edge 的以下修复和增强功能 Microgateway。

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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/v1https://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 Microgateway 应该会抛出 404。在版本 3.1.6 及更高版本中, 系统会抛出 404 错误。
160431789 bug 自定义插件 - 未填充传递给 init 的配置对象

Apigee Edge 配置在配置对象中可供所有用户使用, 自定义插件。请参阅 config

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

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

3.1.5

我们于 2020 年 6 月 26 日星期五发布了 Edge 的以下修复和增强功能 Microgateway。

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 插件的问题

修复了插件生成重复内容的问题 内容类型标头,以及标头未按预期发送到目标的 在某些情况下。

156560067、159688634 功能

在配置中使用环境变量值

新增了一项功能,允许您使用配置中的标记来指定环境变量 文件。指定的环境变量标记会替换为实际环境 变量值。 替换项只会存储在内存中,不会存储在原装 配置或缓存文件有关详情,请参阅 使用环境变量值设置配置属性

155077210 bug 解决了日志格式设置问题。

修复了目标主机出现在日志中并附加多余冒号的问题 。

153673257 bug

(仅适用于私有云的 Edge)未拉取可感知 Microgateway 的产品

修复了无法拉取可感知微网关的产品的问题。此问题 存在于 Edge 上(仅适用于私有云安装)。

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

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

153949764 bug 修复了 Edge Microgateway 进程在访问 日志目标文件已满

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

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

另请参阅轮替 JWT 密钥

3.1.4

我们于 2020 年 4 月 23 日(星期五)针对 Edge 发布了以下修复程序 Microgateway。

bug 修复

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

3.1.3

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 Microgateway 未更新为使用新 Apigee KVM API。Edge Microgateway 现在使用新命令添加和更新 KVM 值。
  • 152822846 - 在之前的版本中,Edge Microgateway 进行了更新, 与 Apigee Edge 匹配的资源路径映射。此版本修复了一个问题 其中模式 /literal_string/* 未正确处理。例如/*/2/*。请参阅 以及 配置“/”“/*”和“/**”资源路径的行为
  • 152005003 - 为启用组织和环境范围的标识符进行了更改 了解配额。
  • 152005003 - 为启用组织和环境范围的标识符进行了更改 了解配额。“org + env + appName + productName”的组合用作配额 标识符。

3.1.2

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

组件版本

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

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

bug 修复和增强功能

  • 151285018 - 进行了一项功能增强,以便为流量添加 HTTP 代理支持 Edge Microgateway 和后端目标之间的连接。此外,我们还修复了 在 Edge Microgateway 和 Apigee Edge 之间提供代理支持。如需了解详情,请参阅: <ph type="x-smartling-placeholder">
  • 149101890 - 目标服务器或负载平衡器的情况下的日志通知代码 关闭其连接已从 ERROR 更改为 INFO。
  • 150746985 - 修复了 edgemicro verify 命令未执行时 在 redisBasedConfigCache: truequotaUri: https://%s-%s.apigee.net/edgemicro-auth 时正常运行 是否出现在配置文件中
  • 151284716 - 增强了当工作器时关闭服务器连接的速度 都会重新启动
  • 151588764 - 更新用于运行 Edge Microgateway 的 Docker 映像中的 Node.js 版本 因为 Node.js v8 已被弃用。
  • 151306049 - 更新了文档以列出 Apigee Edge 管理 Edge Microgateway CLI 命令使用的 API。请参阅 Edge Microgateway 使用哪些管理 API?

3.1.1

我们于 2 月 20 日(星期四)发布了 Edge 的以下修复和增强功能 Microgateway。

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 属性。(默认值:超过 5 秒) 使用 edgemicro.keep_alive_timeout 设置的时间。此默认值 设置可防止负载平衡器或代理错误地断开连接)。

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

    如果设置了 TargetEndpoint 属性 io.timeout.millis 则 Edge Microgateway 将能够检索该属性并应用目标 端点特定的超时。如果未应用此参数,则 Edge Microgateway 将使用 使用 edgemicro.request_timeout 指定的全局超时。

3.1.0

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 未能更新远程配额计数器。在这种情况下,配额将按照 直到下一次成功远程配额同步。以前,这种 事件。

    例如:

    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 Microgateway 检测到 API 代理发生更改时。现在,如果对代理进行了更改 Edge Microgateway 会刷新缓存并重启工作器节点。待此次变更生效后 发送到微网关的新 API 调用不受影响。
  • 146378327 - sourceRequesttargetRequest、 和 targetResponse 的级别已更改为 INFO 级别。
  • 146019878 - 根据“API 代理性能”计算得出的延迟时间差异 和 Edge Microgateway sourceResponse/targetResponse 日志事件中的 已修复。现在,Edge Analytics 和 Microgateway 日志事件的延迟时间已保持一致。
  • 与模式匹配逻辑相关的变更: <ph type="x-smartling-placeholder">
      </ph>
    • 147027862 - 更新了 OAuth 插件以支持以下资源路径 匹配 API 产品中指定的格式: <ph type="x-smartling-placeholder">
        </ph>
      • /{literal}**
      • /{literal}*
      • 上述两种模式的任意组合

      经过此次更改后,Edge Microgateway 插件现在遵循 如 Apigee Edge 中所述,具体如 配置资源的行为 “/”“/*”和“/**”的路径

    • 145644205 - 更新了 apiKeys 插件的模式匹配逻辑以匹配 OAuth 插件。
  • 143488312 - 解决了客户端 ID 开头或结尾包含空格的问题 参数导致 OAuth 令牌的 JWT 商品列表创建为空, API 密钥请求。
  • 145640807 和 147579179 - 添加了一项新功能,允许特殊的 Edge Microgateway 名为“同步器”的实例从 Apigee Edge 检索配置数据并将其写入 本地 Redis 数据库。然后,可将其他微网关实例配置为 配置数据此功能为 Edge Microgateway 增加了一定程度的弹性。 它允许微网关实例启动和运行,而无需与 Apigee Edge。有关详情,请参阅 使用同步程序

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

版本 3.0.x

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

3.0.10

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

组件版本

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

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

bug 修复和增强功能

  • 142677575 - 进行了功能更新,以便与资源路径进行模式匹配 API 产品中使用的 Edge Microgateway 现在与 如 <ph type="x-smartling-placeholder"></ph> 配置“/”“/*”和“/**”资源路径的行为

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

    alt_text

    注意:features.isSingleForwardSlashBlockingEnabled 配置属性,如 <ph type="x-smartling-placeholder"></ph> 不支持配置“/”、“/*”和“/**”资源路径的行为 适用于 Edge Microgateway。

  • 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,配额将仅适用于满足以下条件的 Edge Microgateway 实例: 连接到 Redis。如果为 false, volos-quota-apigee 模块用作后备存储空间,并且配额计数器为全局性。有关详情,请参阅 <ph type="x-smartling-placeholder"></ph> 配额的配置选项。例如:
    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 的以下修复和增强功能 Microgateway。

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 代理的配置更改 以防止配额超支具体更改是将配额类型设为 日历。 要使用此改进功能,您必须更新 将 edgemicro-auth 升级到版本 3.0.7 或更高版本。
  • 142520568 - 添加了一项新功能,可记录 MP (消息处理器)ID 。要使用此功能,您必须更新 将 edgemicro-auth 代理切换到版本 3.0.7 或更高版本 并设置以下配置:
    quotas:
      useDebugMpId: true

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

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

3.0.8

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

组件版本

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

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

bug 修复和增强功能

  • 140025210 - 新的“应急开启”功能已添加。此功能允许在以下情况下继续 API 处理: 因连接错误而无法刷新已过期的 JWT 令牌, 成功调用 edgemicro-auth 代理的 API 密钥验证。

    借助该功能,您可以设置一个宽限期,让旧令牌保留在缓存中 并会重复使用,直到宽限期到期。该功能可让 Edge Microgateway 以便在出现临时连接失败时继续处理请求。时间 连接将会恢复,并且验证 API 密钥调用成功时,新的 JWT 被提取并替换缓存中的旧 JWT。

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

    1. 在 Edge Microgateway 的 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 代理已更新,要求使用 Edge Microgateway 验证 API 密钥。Edge Microgateway 已 进行了更新,以便在每次验证 API 密钥请求时始终发送密钥和密文。此更改 用于阻止客户端获取仅使用 API 密钥的 JWT。
  • 140090250 - 进行了更新,以添加针对配额处理的诊断日志记录。这个 更改,现在可以将 Quoto 日志输出与 Edge Microgateway 的其余部分相关联 日志。

3.0.7

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

组件版本

下表列出了各个组件项目的版本号 关联的 支持 Edge Microgateway 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 状态代码,其中 适当的选择。以前,该插件在所有事件中仅返回 4xx 状态代码, 非 200 例。现在,对于任何不是 200 状态的消息响应, 根据错误情况,系统将返回 4xx 或 5xx 代码。

    默认情况下,此功能处于停用状态。如需启用此功能,请添加 oauth.useUpstreamResponse: true 属性添加到 Edge Microgateway 配置。例如:

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

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

  • 140470888 - 添加了授权标头 配额调用以提供身份验证。 此外,edgemicro-auth代理已修改为 “组织”。由于配额端点位于 客户组织,则不再需要该配额标识符。
  • 140823165 - 以下属性名称:
    edgemicro:
        keepAliveTimeout

    记录不正确。正确的属性名称为:

    edgemicro:
        keep_alive_timeout
  • 139526406 - 修复了以下问题:如果开发者应用存在以下情况,则会发生配额计数错误: 多个产品。现在可以为应用中的每种产品正确实施配额 包含多件商品的商店“appName + productName”的组合用作 配额标识符。

3.0.6

我们于 8 月 29 日(星期四)发布了 Edge 的以下修复和增强功能 Microgateway。

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

    例如:

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

    要使用此功能,您必须先部署最新版本的 贵组织的 edgemicro-auth 代理。有关详情,请参阅 <ph type="x-smartling-placeholder"></ph> 升级 Edgemicro-auth 代理

  • 138722809 - 添加了新的配置属性 stack_trace。此媒体资源 你可以控制 不在日志文件中显示堆栈轨迹。例如:
    stack_trace: false

    如果 stack_trace 设置为 true, 堆栈轨迹将 输出到日志中。如果设为 false,则堆栈 跟踪记录将不会输出到日志中。

3.0.5

我们于 8 月 15 日(星期四)发布了 Edge 的以下修复和增强功能 Microgateway。

bug 已修复 <ph type="x-smartling-placeholder">
    </ph>
  • 139005279 - 修复了 edgemicro status 命令不返回的问题 适当数量的工作器进程
  • 138437710 - 修复了 ExitCounter 类中的一个问题,该问题会导致 停止写入日志。
常规日志消息改进
  • 139064652 - 增加了为事件添加 tracedebug 日志记录级别的功能 和系统日志目前,只添加了添加这些日志级别的功能。目前, 可用的日志级别为 infowarnerror
  • 139064616 - 所有控制台日志语句都对日志输出进行了标准化。控制台 日志记录语句现在包含以下属性:
    • 时间戳
    • 组件名称
    • 进程 ID
    • 控制台日志消息
改进了 JWT 密钥和 Secret 日志消息
  • 138413755 - 改进这些 CLI 的 JWT 密钥和与密钥相关的日志消息 命令:cert、verify、upgradekvm、token、genkeys、recallkeys、rotatekey 和 configure。
改进了“超时和连接遭拒”错误消息
  • 138413577 - 添加并改进了后端服务超时的错误处理。
  • 138413303 - 针对响应和套接字超时添加和改进错误处理。
  • 138414116 - 添加并改进“连接遭拒”的错误处理错误。

3.0.4

我们于 8 月 1 日(星期四)发布了 Edge 的以下修复和增强功能 Microgateway。

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

3.0.3

我们于 7 月 23 日(星期二)发布了 Edge 的以下修复和增强功能 Microgateway。

  • 日志记录增强功能:现有运行时日志使用新的 <ph type="x-smartling-placeholder"></ph> eventLog() 函数,用于以一致的方式捕获和记录运行时数据 格式。日志信息包括: <ph type="x-smartling-placeholder">
      </ph>
    • 时间戳(ISO 8601:YYYY-MM-DDTHH:mm:ss.sssZ)。
    • 日志级别(错误、警告或信息)。
    • 主机名 - 请求标头中发出请求的主机名。
    • 进程 ID - 如果您运行的是 Node.js 进程集群, 即记录发生的进程
    • Apigee 组织名称。
    • 组织中的环境名称。
    • API 代理名称。
    • 客户端 IP 地址。
    • ClientId。
    • 关联 ID(当前未设置)。
    • Edge Microgateway 组件名称。
    • 自定义消息 - 某些对象可能会输出 错误属性。
    • 请求方法(如果是 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 的以下修复和增强功能 Microgateway。

代码质量 - 代码已经过质量审核,并且已对代码进行了更改 满足用户要求的质量标准我们解决了代码质量错误和警告 派生自 JSHint。 因此,我们发现并修复了一些实际代码错误。所有 Apigee Edge Microgateway 已经完成了这个过程。请参阅 6 月 28 日和 7 月 2 日的提交内容, microgateway-config, microgateway-core, microgateway-pluginsmicrogateway。 所有代码质量更改的模块都已使用内部工具进行测试,验证 为客户使用场景执行 Edge Microgateway。

3.0.1

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

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

版本 2.5.x

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

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

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

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

edgemicro cert -t选项可让您指定 对管理 API 进行身份验证。另请参阅管理证书

(添加 2.5.35)添加对使用 edgemicroctl 调试 Edge Microgateway 的支持。

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

(添加了 2.5.35)为 edgemicroctl 启用 Windows build

(添加了 2.5.31)新的 Edgemicro-auth/token API

新增了 Edgemicro-auth/token API,允许您将客户端/密钥作为 Base64 编码传递 基本授权标头和使用“grant_type”作为表单参数。 请参阅直接获取不记名令牌

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

修复了将 Edge Microgateway 配置为在 Edge 上使用 OAuth2 访问令牌的问题 私有云无法正常工作(未遵循令牌)。

Docker:支持使用自签名证书

(添加了 2.5.29)如果您使用的是默认情况下不信任的证书授权机构 (CA) 使用 Node.js,可以在运行 Docker 容器时使用参数 NODE_EXTRA_CA_CERTS 支持 Edge Microgateway。 如需了解详情,请参阅使用 Node.js 不信任的 CA

Docker:支持 TLS

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

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

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

Docker:支持请求代理

(已添加 2.5.27)如果您在 Docker 容器中运行 Edge Microgateway,可以使用这些选项来控制代理 Microgateway 在防火墙后运行时的行为:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

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

Docker:更新了插件说明

(添加了 2.5.27)如果您在 Docker 容器中运行 Edge Microgateway,现在有两个选项 部署插件的方法。使用 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 上手动创建支持微网关的代理。相反,microgateway 将使用 本地代理的基准路径如需了解详情,请参阅使用本地代理模式

使用独立模式

(添加了 2.5.25)您可以使用与任何设备完全断开连接的 Edge Microgateway Apigee Edge 依赖项。这种场景称为独立模式,可让您运行和测试 Edge Microgateway ,请参阅在独立模式下运行 Edge Microgateway

撤消密钥

(添加了 2.5.19)添加了新的 CLI 命令,可撤消 Edge Microgateway 配置。

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

Docker 支持

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

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

Kubernetes 支持

(添加了 2.5.19)您可以将 Edge Microgateway 部署为 部署在 Kubernetes 集群中的服务。请参阅: 将 Edge Microgateway 与 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 密钥轮替

新增了一项功能,允许您轮替用于 生成用于 Edge Microgateway 上的 OAuth 安全性的 JWT 令牌。请参阅 轮替 JWT 密钥

过滤下载的 API 代理

默认情况下,Edge Microgateway 会下载 Edge 组织中的所有代理 名称前缀“edgemicro_”开头的应用了您可以更改此默认设置以下载代理 其名称与某个模式匹配。请参阅 过滤下载的代理

指定没有 API 代理的产品

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

支持永久监控

Edge Microgateway 包含一个 forever.json 文件,您可以将其配置为 控制 Edge Microgateway 重启的次数和间隔时间。此文件 配置一项名为 forever-monitor 的服务,该服务以编程方式管理 Forever。请参阅 永久监控

集中管理 Edge Micro 配置文件

如果您运行多个 Edge Microgateway 实例,可能希望管理其 所有配置为此,您可以指定一个 HTTP 端点 Micro 可以下载其配置文件。请参阅 指定配置文件端点

支持 forever CLI 选项

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

例如:

edgemicro forever ~/mydir/forever.json

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

(添加了 2.5.8)您现在可以将 --configUrl-u 选项与 edgemicro reload 命令。

JWT 时间差异的宽限期

(添加了 2.5.7)OAuth 配置中的 gracePeriod 属性有助于防止错误 由系统时钟与“不早于”(nbf) 或颁发时间之间的细微差异所致 (iat) 时间,在 JWT 授权令牌中指定。将此属性设置为秒数 以应对此类差异请参阅 OAuth 属性

(添加了 2.5.7)OAuth 配置中的 gracePeriod 属性有助于防止错误 由系统时钟与“不早于”(nbf) 或颁发时间之间的细微差异所致 (iat) 时间,在 JWT 授权令牌中指定。将此属性设置为秒数 以应对此类差异请参阅 OAuth 属性

2.5.x 版中修复的问题

  • (问题 #236)修复了清除缓存时出现的拼写错误。
  • (问题 #234)重新加载 Edge Microgateway 2.5.35 时发生崩溃。
  • (问题 #135)虚拟主机引用“secure”无效使用 -v 选项。此修复会在部署之前修改 确保虚拟主机与“-v”中指定的主机完全一致标志。此外, 就可以为虚拟主机指定任意数目和任意名称(不再受限于 默认安全)。
  • (问题 #141)edgemicro 重新加载命令不支持 配置文件选项 -c。此问题已解决。
  • (问题 #142)Edge Microgateway 会在安装时提出关于已弃用的加密的投诉。 此问题已解决。
  • (问题 #145)配额不适用于 Edge Microgateway。此问题已解决。
  • (Apigee 社区问题: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) 针对 OAUTH 中的 API 代理和资源 URI 验证 JWT 令牌。此问题已被 已修复。
  • (Apigee 社区问题:https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway 无法与 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。如需进行更改,请使用 -x 标志 (针对 edgemicro configure 命令)。

示例:

edgemicro configure -x /mypath …


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

您可以使用一个或多个“*”或包含通配符 edgemicro_* 代理。例如,/team/*/members 的基本路径 允许客户调用 https://[host]/team/blue/members,并且 https://[host]/team/green/members,而无需创建新的 API 代理 为新团队提供支持请注意,/**/ 不是 支持。

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

3. 为私有云配置 (PR) 添加了自定义配置路径 99)

默认情况下,microgateway 配置文件位于 ./config/config.yaml 中。 在 init、configure 和 start 命令上,您现在可以在 -c--configDir 标志指定命令行。修复了一个问题 其中无法识别用于私有云安装的自定义配置目录。

示例:

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

4:遵从 *_PROXY 变量 (PR 61)

如果 Edge Microgateway 安装在防火墙后面并且无法与 Apigee 通信 对于公有云中的边缘设备,有两种选择:

选项 1:

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

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

proxy_tunneltrue 时,Edge Microgateway 将使用 HTTP CONNECT 方法,通过单个 TCP 连接传输 HTTP 请求。(如果 用于配置代理的环境变量均已启用 TLS)。

选项 2:

第二个选项是指定代理并将 proxy_tunnel 设置为 false。例如:

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

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

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 Microgateway 会返回 504 响应 状态代码。

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

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

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

如果存在,X-Forwarded-For 标头将设置 client_ip 变量。借助这项功能 知道向 Edge Microgateway 发送请求的客户端的 IP。

8. OAuth 插件变更

OAuth 插件支持 API 密钥验证和 OAuth 访问令牌验证。之前 表明插件接受了两种安全形式。这项变更生效后,您可以仅允许 其中一种安全模型(同时保持向后兼容性)。

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

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

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

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

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

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

改进了 edgemicro-auth 代理。之前 这些更改,则代理将密钥存储在 Edge Secure Store(一种加密保险柜)中。现在,通过 将密钥存储在 Edge 的加密键值对映射 (KVM) 中。

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

您还可以替换目标端点端口,并选择 HTTP 或 HTTPS。修改这些内容 变量:req.targetPortreq.targetSecure.要选择 HTTPS,请将 req.targetSecure 设置为 true;对于 HTTP,请将此参数设置为 false。如果您将 req.targetSecure 设置为 请参阅这篇讨论 讨论帖

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

您可以将 Edge Microgateway 配置为使用 OAuth 令牌进行身份验证,而不是使用 OAuth 令牌进行身份验证。 用户名/密码要使用 OAuth 令牌,请在 edgemicro configure命令:

-t, --token <token>

例如:

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

2.4.3 版中修复的问题

  • 修复了需要付费组织才能正确运行 Edgemicro-auth 代理的问题。现在, 也可以在试用组织中使用 Edge Microgateway。(PR 5)
  • 修复了数据流未处理完数据,但结束处理程序 无论如何正在执行这会导致系统发送部分响应。(PR 71)
  • 修复了专用 Cloud 安装的自定义配置目录未 识别。(PR 110)
  • 修复了客户端和 Edge Microgateway 之间的双向 SSL 的问题。(PR 70)
  • 修复了 API 密钥的代理基本路径需要以斜杠结尾的问题 才能正常运行。现在,无需在基本路径末尾添加尾随斜杠。 (PR 48)

版本 2.3.5

新功能和增强功能 v.2.3.5

代理过滤

您可以过滤 Edge Microgateway 实例将处理哪些 microgateway 感知代理。 Edge Microgateway 启动时,会下载 组织。使用以下配置来限制 microgateway 将对其进行处理。例如,此配置限制了 microgateway 将处理为三个:edgemicro_proxy-1edgemicro_proxy-2edgemicro_proxy-3:

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

Google Analytics 数据遮盖

借助新配置,您可以阻止请求路径信息显示在 Edge 中 分析。将以下内容添加到 microgateway 配置,以遮盖请求 URI 和/或 请求路径。请注意,URI 包含请求的主机名和路径部分。

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

版本 2.3.3

新功能和增强功能 v.2.3.3

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

停用自动更改轮询

您可以通过在 microgateway 中设置此属性来关闭自动更改轮询 config:

disabled_config_poll_interval: true

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

在插件中重写目标网址

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

新增插件函数签名

我们添加了一个新的插件函数签名,以便将目标响应作为 参数。添加后,插件可以更轻松地访问目标响应。

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

简化了默认日志记录输出

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

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

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

默认情况下,microgateway 配置文件位于 ./config/config.yaml 中。在初始化过程中, 配置和启动命令,那么您现在可以在命令行中指定自定义配置路径。例如:

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

2.3.3 版中修复的问题

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

版本 2.3.1

安装注意事项

某些先前版本的 Edge Microgateway 可让您通过下载 ZIP 文件来安装软件 文件。这些 ZIP 文件已不再受支持。如需安装 Edge Microgateway,您必须使用:

npm install -g edgemicro

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

新功能和增强功能 v.2.3.1

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

过滤代理

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

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

例如,假设您在 Edge 中有 50 个 edgemicro_* 代理 org/env,包括名为 edgemicro_fooedgemicro_bar 的环境。您可以 指示 microgateway 只使用这两个代理,如下所示:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

启动时,microgateway 将只能调用指定的代理。任意尝试次数 从 Edge 组织/环境中下载的其他支持微网关的代理时, 会导致错误。

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

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

我们来看一个传入请求包含数据的情况,您希望将 标头。在以前的 Edge Microgateway 中, 在这种情况下,必须可靠地设置目标标头。

此模式的关键是首先累积从客户端的所有传入数据。然后,在 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 Microgateway 提供的示例插件中使用。

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 Microgateway 完成配置更改后,您可以加载配置 而无需丢弃任何消息经过此次更改后,Edge Microgateway 始终以集群模式启动, 并且“--cluster”选项已从 edgemicro start中删除 命令。

此外,还新增了三个 CLI 命令。您必须从 执行 edgemicro 启动命令的同一目录中:

  • edgemicro status - 检查 Edge Microgateway 是否 运行状态
  • edgemicro stop - 停止 Edge Microgateway 集群。
  • edgemicro reload - 重新加载 Edge Microgateway 无需停机

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

Edge Microgateway 会定期加载新配置,并执行重新加载(如有) 已更改。轮询会获取在 Edge 上所做的任何更改(对产品所做的更改、微网关感知功能更改) 代理等)以及对本地配置文件所做的更改。默认的轮询间隔为 600 秒(五分钟)。您可以将 microgateway 配置文件中的默认值更改为 如下:

edgemicro:
    config_change_poll_interval: [seconds]

向 CLI 添加了版本信息

CLI 中添加了 --version 标志。获取当前版本的 Edge Microgateway,请使用:

edgemicro --version

新的 Edge Microgateway 服务器 SSL 选项

除了 keycert

选项 说明
pfx 包含私钥、证书和 CA 证书的 pfx 文件的路径 采用 PFX 格式
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 Microgateway 授权的命令 在 Windows 系统上与 Edge 兼容。

版本 2.1.0

新功能和增强功能 v.21.0

以下是新功能和增强功能:

指定客户端 SSL/TLS 选项

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

版本 2.0.11

安装说明 v2.0.11

某些先前版本的 Edge Microgateway 可让您通过下载 ZIP 文件来安装软件 文件。这些 ZIP 文件已不再受支持。如需安装 Edge Microgateway,您必须使用:

npm install -g edgemicro

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

新功能和增强功能 v.2.0.11

以下是新功能和增强功能:

在启动时指定端口

start 命令可让您指定一个端口号,以覆盖在 配置文件您还可以使用 PORT 环境变量指定端口号。请参阅 start 命令了解详情。

选择性地保留身份验证标头

通过新的配置设置 keepAuthHeader,您可以保留 请求中发送的授权标头。如果设为 true,Auth 标头就会被传递到 目标。请参阅 oauth 属性

能够使用自定义授权服务

如果您希望使用自己的自定义服务来处理身份验证,请将 authUri 值,以指向您的服务。对于 详情,请参阅 使用自定义身份验证服务

版本 2.0.4

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

新功能和增强功能 v2.0.4

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

支持产品中的资源路径

Edge Microgateway 现在支持产品中的资源路径。利用资源路径,您可以 对 API 的访问权限。如需详细了解如何创建产品和配置 请参阅创建 API 产品

对 npm global install 的支持

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

版本 2.0.0

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

新功能和增强功能 v.2.0.0

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

单进程服务器

Edge Microgateway 现在是单进程服务器。它不再使用双进程模型 其中一个进程(以前称为“代理”)启动 Edge Microgateway,第二个进程启动 过程。新架构使自动化和容器化变得更加轻松。

命名空间型配置文件

配置文件现在使用组织和环境设置命名空间 Microgateway 实例可以在同一主机上运行。您可以在 ~/.edgemicro 中找到配置文件 。

新的环境变量

现在有 4 个环境变量:EDGEMICRO_ORG、EDGEMICRO_ENV、EDGEMICRO_KEY、 EDGEMICRO_SECRET。如果在系统上设置这些变量,则不必在系统上 配置和启动 Edge 时所需的值 Microgateway。

缓存的配置

如果 Edge Microgateway 在没有安装内容的情况下重启,会使用缓存的配置文件 连接到 Apigee Edge。

集群模式

现在可以选择在集群模式下启动 Edge Microgateway。借助集群模式 充分利用多核系统的优势microgateway 采用 Node.js 集群模块来实现此功能。如需了解详情,请参阅 请参阅 Node.js 文档

2.0.0 版中修复的问题

插件事件生命周期现在可正确处理异步代码,其中包含带有新 回调。

版本 1.1.2

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

新功能和增强功能 v.1.1.2

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

性能提升

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

远程调试程序支持

您可以将 Edge Microgateway 配置为与远程调试程序(例如 node-inspector)一起运行。

新的配置文件位置

配置 Edge Microgateway 时,agent/config/default.yaml 文件现在 已复制到“~./edgemicro/config.yaml”。

日志文件轮播

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

v1.1.2 中修复的问题

以下 bug 已在 1.1.2 版中修复。

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