您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
版本 3.3.x
修复了一些 bug,并进行了一些改进(版本 3.3.x)
3.3.5
2024 年 12 月 20 日星期五,我们发布了 Edge Microgateway 的以下修复程序和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.3.5 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此其版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.3.5 | 3.3.5 | 3.3.5 | 3.3.5 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
383024578 | 功能 |
我们添加了对 Node.js 22 版的支持,并移除了对 16 版的支持。如果您使用的是 Node.js v18,Edge Microgateway 会在启动时输出以下错误消息: current nodejs version is 18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0 如果您运行的是较低版本的 Node.js,则会看到以下错误消息: You are using a version of NodeJS that is not supported |
修复了安全问题
- CVE-2024-21538
- CVE-2024-45590
- CVE-2019-3844
- CVE-2019-12290
- CVE-2020-1751
- CVE-2018-12886
- CVE-2023-50387
- CVE-2019-3843
- CVE-2022-4415
- CVE-2021-3997
修复了一些 bug,并进行了一些改进(版本 3.3.x)
3.3.4
2024 年 9 月 18 日,我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.3.4 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.3.4 | 3.3.4 | 3.3.4 | 3.3.4 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
675987751 | bug |
修复了 Edge Microgateway 未记录客户端 IP 地址的问题。 |
修复了安全问题
- CVE-2021-23337
- CVE-2024-4068
- CVE-2020-28469
- CVE-2020-28503
3.3.3
2024 年 4 月 25 日,我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.3.3 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.3.3 | 3.3.3 | 3.3.3 | 3.3.3 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
315939218 | 已移除 |
从 Edge Microgateway 中移除了 Eureka 客户端插件。移除此功能不会影响 Edge Microgateway 核心功能或重写目标网址。如需了解详情,请参阅在插件中重写目标网址。 |
283947053 | 已移除 |
从 Edge Microgateway 中移除了对 |
修复了安全问题
- 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 | config | 插件 | 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 产品的问题。我们现在会根据请求确定要返回的正确 API 产品。 |
274443329 | bug |
修复了 Docker 拉取过时映像版本的问题。
Docker 节点版本已更新为 Node.js 版本 18。现在,我们将构建版本为 |
修复了安全问题
无。
3.3.1
2022 年 6 月 7 日,我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.3.1 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.3.1 | 3.3.1 | 3.3.1 | 3.3.1 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
220885293 | 功能 |
现在支持 Node.js 16 版。 |
231972608 | bug |
修复了以下问题:在尝试为私有云进行配置时, |
233315475 | bug |
修复了以下问题:在将响应从 JSON 转换为 XML 时, |
221432797 | 更改 |
基础 Edge Microgateway 映像的 Docker Node.js 版本已升级到 Node.js 14。 |
215748732 | 功能 |
向 revokekeys 命令添加了对 SAML 令牌身份验证的支持。
现在,您可以使用 如需了解详情,请参阅命令行参考文档。 |
218723889 | 文档更新 |
该文档已更新,其中包含指向存储在 GitHub 上的受支持 Edge Microgateway 插件的链接。请参阅与 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 | config | 插件 | edgeauth |
---|---|---|---|---|
3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
219556824 | 已知问题 | Edge Microgateway 网关 3.3.0 与 npm audit fix 命令不兼容。
运行
如果您先执行
如需解决此问题,请执行以下命令以恢复正确版本的 npm install apigeetool@0.15.1 此问题将在 Edge Microgateway 的未来版本中得到解决。 |
138622990 | 功能 |
配额插件的新标志 |
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 | 修复了以下问题:使用现有密钥和密钥对撤消密钥时,revokekeys 命令会返回错误。 |
205524197 | bug | 更新了文档,以添加日志记录级别的完整列表。请参阅 edgemicro 属性和如何设置日志记录级别。 |
版本 3.2.x
修复了一些 bug 并进行了一些改进(版本 3.2.x)
3.2.3
2021 年 9 月 17 日,我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.2.3 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.2.3 | 3.2.3 | 3.2.3 | 3.2.3 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
192416584 | 功能 |
借助 |
192799989 | 功能 |
借助 |
148062415 | bug | 修复了以下问题:在 Docker 容器上下文中,Edge Microgateway 无法使用 docker stop {containerId} 命令正常关闭。进程已终止,但 .sock 和 .pid 文件未被移除。现在,这些文件已被移除,重新启动同一容器后,一切正常。
|
190715670 | bug | 修复了在微网关的内部重新加载活动期间某些请求卡住的问题。此问题是间歇性问题,会在高流量情况下发生。
使用 OAuth 插件的 tokenCache 和 cacheKey 功能时会出现此问题。
|
183910111 | bug | 修复了以下问题:带有尾部斜线的资源路径网址被错误地解读为单独的资源路径。现在,例如,路径 /country/all 和 /country/all/ 会被解读为同一个路径。 |
修复了安全问题
问题 ID | 说明 |
---|---|
CVE-2020-28503 | 2.0.5 之前的软件包 copy-props 容易通过主要功能遭到原型污染。 |
CVE-2021-23343 | 所有版本的软件包 path-parse 都容易受到通过 splitDeviceRe、splitTailRe 和 splitPathRe 正则表达式进行的正则表达式拒绝服务 (ReDoS) 攻击。 ReDoS 在最糟糕的情况下具有多项式时间复杂性。 |
3.2.2
2021 年 7 月 15 日(星期四),我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.2.2 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
185323500 | 更改 |
令牌请求和刷新令牌请求 API 现在会将
为遵循
RFC 6749 OAuth 2.0 授权框架, |
188492065 | 更改 |
Node.js 8 支持即将结束
从 3.2.2 版开始,我们将不再支持 Node.js 8。如需了解详情,请参阅支持的软件和支持的版本:Edge Microgateway。 |
183990345 | 功能 |
为 Docker 容器配置日志输出
借助 Edge Microgateway 配置参数 to_console,您可以选择将日志信息发送到标准输出,而不是发送到日志文件。如果您按照相应步骤在 Docker 容器中运行 Edge Microgateway,容器会默认将标准输出和错误输出重定向到位于容器中位置
为防止日志信息发送到 如需详细了解如何使用此新变量,请参阅使用 Docker 部署 Edge Microgateway。 |
183057665 | 功能 |
使 edgemicro.pid 和 edgemicro.sock 文件路径可配置。
新增了 |
191352643 | 功能 | Edge Microgateway 的 Docker 映像已更新为使用 NodeJS 版本 12.22。 请参阅使用 Docker 部署 Edge Microgateway。 |
修复了安全问题
问题 ID | 说明 |
---|---|
CVE-2021-28860 | 在 v0.5.1 之前的 Node.js mixme 中,攻击者可以通过 mutate() 和 merge() 函数通过“__proto__”添加或更改对象的属性。系统会直接将受污染的属性分配给程序中的每个对象。这会导致该计划的可用性受到威胁,可能会导致拒绝服务 (DoS) 攻击。 |
CVE-2021-30246 | 在 Node.js 10.1.13 之前的 jsrsasign 软件包中,系统会错误地将某些无效的 RSA PKCS#1 v1.5 签名识别为有效。注意:目前没有已知的实际攻击。 |
CVE-2021-23358 | 1.13.0-0 及更低版本、1.3.2 及更低版本的 underscore 软件包容易通过模板函数遭到任意代码注入,尤其是在作为参数传递的变量属性未经过净化时。 |
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 | config | 插件 | edgeauth |
---|---|---|---|---|
3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
180362102 | bug |
修复了 JWK 密钥值为 null 导致应用失败的问题。
现在,系统会处理 null 条件,以避免在 注意:此修复程序需要您升级 edgemicro-auth 代理。 |
179971737 | bug |
修复了以下问题:目标 4XX / 5XX 状态响应会被记录为 edgemicro_* 代理的代理错误。
对于 Edge Microgateway 事务,Apigee Edge 错误代码分析信息中心会显示错误的目标错误数。目标错误的错误代码被计为代理错误。此问题已得到修复,现在会显示正确的目标错误数。 |
179674670 | 功能 |
添加了一项新功能,可让您根据产品状态代码过滤 JWT 中放置的 API 产品列表。
API 产品有三种状态代码:待处理、已批准和已撤消。
我们在 edgemicro-auth 代理的 Set JWT Variables 政策中添加了一个名为
|
178423436 | bug |
在 CLI 中或通过环境变量传递的密钥和密文值会显示在进程浏览器命令行参数中。
有用户报告了一个问题,即在启动微网关后,通过命令行参数传递或通过环境变量设置的 Edge Microgateway 密钥和密文值会显示在节点工作器/子进程的参数中。 为了针对环境变量场景解决此问题,值不再显示在进程浏览器命令行参数中。 如果在启动微网关时在命令行中传递密钥和 Secret 值,则这些设置会替换任何环境变量值(如果已设置)。在这种情况下,这些值仍会显示在进程浏览器命令行参数中。 |
178341593 | bug |
修复了 apikeys 插件的文档错误。
apikeys 插件的 README 文件错误地包含了
|
179366445 | bug |
解决了以下问题:针对目标的所有 GET 请求都会丢弃载荷。
您可以使用新的配置参数 例如: 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 | config | 插件 | 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 | 在 edgemicro-auth 代理中为 /token 端点使用正确的时间单位。
修复了以下问题:
此修复不会更改到期时间的长度,而只会更改时间单位。它仅适用于访问令牌响应载荷中的 如果客户端一直依赖于 如果客户端一直使用 JWT 令牌中的值来评估令牌刷新期限,则客户端应该不需要更改。 |
173064680 | bug | 修复了微网关在处理所有数据块之前终止目标请求的问题。
这是在载荷大小较大的请求中观察到的间歇性问题,该问题在 3.1.7 版中引入。 |
174640712 | bug | 向插件添加了适当的数据处理。
以下插件添加了适当的数据处理功能: |
版本 3.1.x
修复了一些 bug 并进行了一些改进(版本 3.1.x)
3.1.8
我们于 2020 年 11 月 16 日星期一发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.8 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.1.8 | 3.1.9 | 3.1.7 | 3.1.3 | 3.1.2 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
169201295 | bug | 环境变量标记中的数字值和布尔值解析有误。
环境变量替换处理会将所有值解析为字符串,这会导致布尔值或数值解析错误。例如, |
169202749 | bug | 在某些情况下,环境变量替换不起作用。
环境变量替换处理不适用于某些配置属性。如需了解限制,请参阅使用环境变量值设置配置属性。 |
168732942 | bug | 修复了 OAuth 范围未按预期限制 API 代理访问权限的问题。
edgemicro-auth 代理中的 |
170609716 | bug | 修复了以下问题:edgemicro-auth 代理中的 /refresh 流程会生成没有 apiProductList 的 JWT。
|
170708611 | bug | API 产品级范围不适用于自定义插件。
API 产品级范围未提供给自定义插件,也没有写入缓存配置文件。如需了解如何向插件提供作用域详细信息,请参阅 插件 init() 函数简介。 |
169810710 | 功能 | 保存在缓存配置文件中的密钥和密文。
Edge Microgateway 密钥和密文会在每次重新加载/启动时保存到缓存配置 yaml 文件中。在 3.1.8 中,密钥和密文不再保存在缓存配置文件中。如果密钥和密文之前已写入缓存配置文件,则会被移除。 |
170708621 | 功能 | 无法停用 Google Analytics 插件。
在之前的微网关版本中,分析插件默认处于启用状态,并且无法停用。在版本 3.1.8 中,引入了新的配置参数 |
159571119 | bug | 在响应/套接字超时自定义插件中的 onerror_request 钩子中收到 null 错误。
进行了修复,以便为 |
3.1.7
2020 年 9 月 24 日星期四,我们发布了 Edge Microgateway 的以下修复程序和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.7 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.1.7 | 3.1.8 | 3.1.6 | 3.1.2 | 3.1.1 |
修复了一些 bug 并进行了一些改进:
问题 ID | 类型 | 说明 |
---|---|---|
131708105 | bug | analytics 插件错误地处理了 axpublisher 调用的 null 响应,导致工作器退出。
|
133162200 | bug | 开发者应用信息未填充到 Google Analytics 中,因为收到了 403 状态响应(由未经授权的产品资源路径导致)或 401 响应(由过期或无效令牌导致)。
|
132194290 | bug | 当 Apigee Edge 拒绝某些 Google Analytics 记录时,这些 Google Analytics 记录会被舍弃。
|
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 | Synchronizer 未存储 jwk_public_keys 数据,也未将其提取并存储在 Redis 中。
|
141659881 | bug | 对无效目标证书的错误处理显示了误导性的错误响应。
|
142808699 | bug | accesscontrol 插件未正确处理“允许”和“拒绝”部分。
微网关现在会正确处理“拒绝”部分,并遵循“允许”和“拒绝”部分的顺序。向微网关配置文件添加了一个新的 |
3.1.6
2020 年 8 月 20 日(星期四),我们发布了 Edge Microgateway 的以下修复程序和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.6 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | 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 上的 新插件指标 README。 |
||||||||||||
159396879 | bug | 移除了未使用的软件包 Helper | ||||||||||||
161092943 | bug | 基本路径验证不正确
在 3.1.6 版之前,如果基本路径未以 以下进一步说明了之前的行为(已在 3.1.6 中修复):
假设代理配置为基本路径为
|
||||||||||||
160431789 | bug | 自定义插件 - 未填充传递给 init 的配置对象
与 Edge Microgateway 配置文件合并后,Apigee Edge 配置会在配置对象中提供给所有自定义插件。请参阅配置。 |
||||||||||||
162758808 | bug | Redis 后备存储空间的新配额配置
您可以使用以下配置为配额指定 Redis 后备存储区。 如需了解详情,请参阅使用 Redis 后备存储区来存储配额。 |
3.1.5
2020 年 6 月 26 日星期五,我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.5 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | 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 | (仅限 Edge for Private Cloud)未拉取微网关感知型产品 修复了无法拉取微网关感知型产品的问题。此问题仅存在于 Edge for Private Cloud 安装中。 |
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 版本说明中所述的所有 bug 修复和增强功能均适用于此版本。
3.1.3
2020 年 4 月 15 日(星期三),我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.3 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | 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 | config | 插件 | edgeauth |
---|---|---|---|---|
3.1.2 | 3.1.2 | 3.1.2 | 3.0.13 | 3.0.9 |
修复了一些 bug 并进行了一些改进:
- 151285018 - 进行了一项功能增强,为 Edge Microgateway 和后端目标之间的流量添加了 HTTP 代理支持。此外,我们还修复了 Edge Microgateway 和 Apigee Edge 之间现有 HTTP 代理支持方面的问题。如需了解详情,请参阅:
- 149101890 - 针对目标服务器或负载平衡器关闭连接的情况,日志通知代码已从“ERROR”更改为“INFO”。
- 150746985 - 修复了以下问题:如果配置文件中存在
redisBasedConfigCache: true
或quotaUri: https://%s-%s.apigee.net/edgemicro-auth
,edgemicro verify
命令无法正常运行。 - 151284716 - 进行了一项增强,以便在重新加载期间重启 worker 时更快地关闭服务器连接。
- 151588764 - 将用于在 Docker 容器中运行 Edge Microgateway 的 Docker 映像中的 Node.js 版本更新为 12,因为 Node.js v8 已废弃。
- 151306049 - 更新了文档,列出了 Edge Microgateway CLI 命令使用的 Apigee Edge 管理 API。请参阅 Edge Microgateway 使用哪些管理 API?。
3.1.1
2 月 20 日(星期四),我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.1 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.1.1 | 3.1.1 | 3.1.1 | 3.0.13 | 3.0.9 |
修复了一些 bug 并进行了一些改进:
-
146069701 - 修复了
microgateway-core
模块不遵循HTTP_PROXY
和HTTPS_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 Microgateway 将能够检索该属性并应用特定于目标端点的超时设置。如果未应用此参数,Edge Microgateway 将使用使用edgemicro.request_timeout
指定的全局超时。
3.1.0
1 月 21 日(星期二),我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.1.0 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.1.0 | 3.1.0 | 3.1.0 | 3.0.12 | 3.0.9 |
修复了一些 bug 并进行了一些改进:
-
144187500 - 触发
quotas.failOpen
标志时,系统会记录一个新的 WARN 级别事件。 如果发生配额处理错误,或者向 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 Microgateway 检测到 API 代理发生更改时,正在处理的交易或新交易都会受到影响。现在,更改代理后,Edge Microgateway 会刷新缓存,并且工作器节点会重启。此次变更不会影响正在处理的交易和发送到微网关的新 API 调用。
- 146378327 -
sourceRequest
、targetRequest
和targetResponse
的日志级别已更改为“信息”级别。 - 146019878 - 修复了 Edge 分析中为“API 代理性能”计算的延迟时间与 Edge Microgateway sourceResponse/targetResponse 日志事件之间的差异。现在,Edge Analytics 和 Microgateway 日志事件中的延迟时间一致。
- 与模式匹配逻辑相关的更改:
- 147027862 - 更新了 oauth 插件,以支持 API 产品中指定的以下资源路径匹配模式:
/{literal}**
/{literal}*
- 上述两种模式的任意组合
经过此更改,Edge Microgateway 插件现在遵循与 Apigee Edge 相同的模式匹配规则,如配置“/”“/*”和“/**”资源路径的行为中所述。
- 145644205 - 更新了 apiKeys 插件的模式匹配逻辑,使其与 oauth 插件保持一致。
- 147027862 - 更新了 oauth 插件,以支持 API 产品中指定的以下资源路径匹配模式:
- 143488312 - 修复了以下问题:客户端 ID 参数中的前导或尾随空格会导致为 OAuth 令牌和 API 密钥请求创建的 JWT 产品列表为空。
- 145640807 和 147579179 - 添加了一项新功能,允许名为“同步器”的特殊 Edge Microgateway 实例从 Apigee Edge 检索配置数据并将其写入本地 Redis 数据库。然后,可以将其他微网关实例配置为从数据库读取其配置数据。此功能可为 Edge Microgateway 增强弹性。
这样,微网关实例便无需与 Apigee Edge 通信即可启动和运行。如需了解详情,请参阅使用同步器。
同步器功能目前支持与 Redis 5.0.x 搭配使用。
版本 3.0.x
修复了一些 bug 并进行了一些改进(版本 3.0.x)
3.0.10
11 月 8 日(星期五),我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.0.10 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | edgeauth |
---|---|---|---|---|
3.0.10 | 3.0.8 | 3.0.8 | 3.0.11 | 3.0.8 |
修复了一些 bug 并进行了一些改进:
-
142677575 - 进行了一项功能更新,以便 Edge Microgateway 的 API 产品中用于资源路径的模式匹配现在与 Apigee Edge 使用的资源路径模式匹配保持一致,如 配置“/”“/*”和“/**”资源路径的行为中所述。
注意:如果您使用
/*/2/**
等复合资源模式,则必须确保将edgemicro_auth
代理添加到独立 API 产品。然后,您必须在代理的开发者应用中添加该商品,如以下屏幕截图所示:注意:Edge Microgateway 不支持
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 Microgateway 实例。如果为 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 Microgateway 的以下修复程序和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.0.9 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | 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 | config | 插件 | edgeauth |
---|---|---|---|---|
3.0.8 | 3.0.6 | 3.0.6 | 3.0.9 | 3.0.6 |
修复了一些 bug 并进行了一些改进:
- 140025210 - 添加了新的“fail open”功能。如果因连接错误而无法成功向
edgemicro-auth
代理发出 API 密钥验证调用,导致已过期的 JWT 令牌无法刷新,则此功能可让 API 处理继续进行。借助此功能,您可以设置宽限期,在宽限期内,旧令牌会保留在缓存中并被重复使用。借助此功能,Edge Microgateway 可以在临时连接失败时继续处理请求。当连接恢复且成功调用 Verify API Key 后,系统会提取新的 JWT 并替换缓存中的旧 JWT。
如需配置新的“应急开启”功能,请执行以下操作:
- 在 Edge Microgateway 配置文件的
oauth
诗节中设置以下属性:oauth: failOpen: true failopenGraceInterval: time_in_seconds cacheKey: true ...
例如:
oauth: failOpen: true failopenGraceInterval: 5 cacheKey: true ...
在此示例中,如果旧令牌因连接问题而无法刷新,系统将在 5 秒内使用该令牌。 5 秒后,系统会返回身份验证错误。
- 在 Edge Microgateway 配置文件的
- 141168968 - 进行了更新,以便在所有插件日志输出中包含
correlation_id
。 此外,根据需要将某些日志的日志级别更改为error
。 - 140193349 - 更新了
edgemicro-auth
代理,要求在每次验证 API 密钥请求时验证 Edge Microgateway 密钥和密文。Edge Microgateway 已更新,以便在每次发出 Verify API Key 请求时始终发送密钥和密文。此更改可防止客户端仅使用 API 密钥获取 JWT。 - 140090250 - 进行了更新,以添加了配额处理的诊断日志记录。经过此项更改,现在可以将 quoto 日志输出与 Edge Microgateway 的其余日志相关联。
3.0.7
9 月 12 日(星期四),我们发布了 Edge Microgateway 的以下修复和增强功能。
组件版本:
下表列出了与 Edge Microgateway 3.0.7 关联的各个组件项目的版本号。请注意,由于每个组件都是一个单独的项目,因此版本号可能与主要产品版本不一致:
microgateway | core | config | 插件 | 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 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
在版本 3.0.6 中记录有误。正确的媒体资源名称为:
edgemicro: keep_alive_timeout
- 139526406 - 修复了以下 bug:如果开发者应用有多个产品,则配额数会不正确。现在,系统会针对包含多款商品的应用中的每款商品正确强制执行配额。系统将“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
代理部署到您的组织。如需了解详情,请参阅 升级 edgemicro-auth 代理。 - 138722809 - 添加了新的配置属性
stack_trace
。借助此属性,您可以控制堆栈轨迹是否显示在日志文件中。例如:stack_trace: false
如果将
stack_trace
设置为true
,系统会在日志中输出堆栈轨迹。如果将其设置为false
,系统将不会在日志中输出堆栈轨迹。
3.0.5
8 月 15 日(星期四),我们发布了 Edge Microgateway 的以下修复和增强功能。
修复了以下 bug- 139005279 - 修复了
edgemicro status
命令未返回正确的 Worker 进程数量的问题。 - 138437710 - 修复了 ExitCounter 类中导致无法写入正确日志的问题。
- 139064652 - 添加了为事件日志和系统日志添加
trace
和debug
日志记录级别的功能。目前,我们仅添加了添加这些日志级别的功能。目前,可用的日志级别包括info
、warn
和error
。 - 139064616 - 为所有控制台日志语句标准化了日志输出。控制台日志记录语句现在包含以下属性:
- 时间戳
- 组件名称
- 进程 ID
- 控制台日志消息
- 138413755 - 改进了以下 CLI 命令的 JWT 密钥和密钥相关日志消息:cert、verify、upgradekvm、token、genkeys、revokekeys、rotatekey 和 configure。
- 138413577 - 添加并改进了后端服务超时错误处理。
- 138413303 - 添加并改进了对响应和套接字超时的错误处理。
- 138414116 - 添加并改进了“连接被拒绝”错误的错误处理。
3.0.4
8 月 1 日(星期四),我们发布了 Edge Microgateway 的以下修复和增强功能。
- 134445926 - 改进了内部 Edge Microgateway 身份验证。
- 137582169 - 解决了启动不需要的进程的问题。额外的进程导致插件重新加载并占用过多内存。 Edge Microgateway 现在会将进程数保持在预期限制范围内。
- 137768774 - 改进了日志消息:
- 清理了事务(请求)日志。
- 根据需要添加了更多日志消息。
- 将事务(请求)日志消息从控制台输出移至相关日志文件。
- 更新了控制台日志,以使用集中式日志记录功能。
- 138321133、138320563 - 对配额缓冲区进行了基本内部更改,以便日后增强配额功能。
3.0.3
7 月 23 日(星期二),我们发布了 Edge Microgateway 的以下修复和增强功能。
- 日志记录增强功能:现有运行时日志使用新的
eventLog()
函数,该函数可以一致的格式捕获和记录运行时数据。日志信息包括:- 时间戳(ISO 8601:YYYY-MM-DDTHH:mm:ss.sssZ)。
- 日志级别(错误、警告或信息)。
- 主机名 - 请求标头中的请求主机名。
- 进程 ID - 如果您运行的是 Node.js 进程集群,则这是发生日志记录的进程的 ID。
- 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-plugins
和 microgateway
的提交内容。
所有代码质量发生更改的模块都已使用内部工具进行测试,以验证 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 - 如果过滤模式不正确,Edge Microgateway 的 Products 端点会返回 5XX
- 135113408 - 如果工作器意外终止,则应重启
- 134945852 - oauth 插件中未使用 tokenCacheSize
- 134947757 - 在 OAuth 插件中设置 cacheTTL
- 135445171 - OAuth 中的 gracePeriod 计算不正确
- 使用 Edge Microgateway 安装时提供的记忆模块
- 135367906 - 安全审核
版本 2.5.x
v.2.5.x 中的新功能和增强功能
(已在 2019 年 6 月 7 日修复了 2.5.38)
格式错误的 JWT 可能会导致使用令牌缓存时工作器崩溃。此问题已在 Edge microgateway-plugins 模块中修复。(b/134672029)
(添加于 2.5.37)添加了 CLI 选项 edgemicro-cert -t
。
借助 edgemicro cert -t
选项,您可以指定 OAuth 令牌以对管理 API 进行身份验证。另请参阅管理证书。
(添加于 2.5.35)添加了使用 edgemicroctl
调试 Edge Microgateway 的支持。
您可以将 mgdebug
标志与 edgemicroctl
结合使用。另请参阅 Kubernetes 集成任务。
(添加于 2.5.35)为 edgemicroctl
启用 Windows 版本。
(添加于 2.5.31)新增了 edgemicro-auth/token API
添加了新的 edgemicro-auth/token API,可让您以 Base64 编码的基本身份验证标头的形式传递客户端/密钥,并以表单参数的形式传递 grant_type。请参阅直接获取不记名令牌。
(已在 2.5.31 中修复)私密配置不遵循令牌标志
修复了以下问题:将 Edge Microgateway 配置为在 Edge for Private Cloud 上使用 OAuth2 访问令牌时无法正常运行(系统不会遵循令牌)。
Docker:支持使用自签名证书
(添加于 2.5.29)如果您使用的证书授权机构 (CA) 默认不受 Node.js 信任,则可以在使用 Edge Microgateway 运行 Docker 容器时使用参数 NODE_EXTRA_CA_CERTS
。
如需了解详情,请参阅使用 Node.js 不信任的 CA。
Docker:支持 TLS
(新增于 2.5.29)在 Docker 容器中运行的 Edge Microgateway 现在支持对发送到 Edge Microgateway 服务器的传入请求(向北请求)和从 Edge Microgateway 发送到目标应用的传出请求(向南请求)使用 TLS。
以下示例详细介绍了如何设置这些 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 已更新。如需了解详情,请参阅以下链接:
- 方法 A:将插件目录挂载到卷上(新)
- 选项 B:将插件构建到容器中(已更新)
为 KVM 升级命令添加了 OAuth 令牌支持
(添加于 2.5.27)您可以将 OAuth 令牌与 upgradekvm
命令搭配使用。如需了解详情,请参阅升级 KVM。
在 Edge Analytics 中对 API 进行分隔
(添加于 2.5.26)借助新的分析插件标志,您可以隔离特定 API 路径,使其在 Edge Analytics 信息中心中显示为单独的代理。例如,您可以将健康检查 API 分隔开来,以免将它们与实际 API 调用混淆。如需了解详情,请参阅从分析中排除路径。
配置本地代理
(添加时间:2.5.25)使用本地代理时,您无需在 Apigee Edge 上手动创建 Microgateway 感知代理。而是使用本地代理的基准路径。如需了解详情,请参阅使用本地代理模式。
使用独立模式
(新增于 2.5.25)您可以运行与任何 Apigee Edge 依赖项完全断开连接的 Edge Microgateway。这种场景称为独立模式,可让您在不连接到互联网的情况下运行和测试 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 集群中部署的服务前面的 Sidecar 网关。请参阅:将 Edge Microgateway 与 Kubernetes 集成概览。
支持 TCP nodelay 选项
(添加于 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
文件的位置,还可以启动或停止 Forever 后台进程。另请参阅永久监控
参数 | 说明 |
---|---|
-f, --file | 指定 forever.json 文件的位置。 |
-a, --action | start 或 stop 。默认值为“start”。 |
示例:
如需开始使用 Forever,请执行以下操作:
edgemicro forever -f ~/mydir/forever.json -a start
如需停止 Forever,请执行以下操作:
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 端点,Edge 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 属性有助于防止因系统时钟与 JWT 授权令牌中指定的“有效期开始时间”(nbf) 或“签发时间”(iat) 之间存在细微差异而导致错误。将此属性设置为秒数,以允许出现此类差异。请参阅 OAuth 属性。
(添加于 2.5.7)OAuth 配置中的 gracePeriod 属性有助于防止因系统时钟与 JWT 授权令牌中指定的“有效期开始时间”(nbf) 或“签发时间”(iat) 之间存在细微差异而导致错误。将此属性设置为秒数,以允许出现此类差异。请参阅 OAuth 属性。
修复了 v2.5.x 中的 bug
- (问题 236)修复了清除缓存中的拼写错误。
- (问题 234)Edge Microgateway 2.5.35 会在重新加载时发生崩溃。
- (问题 135)使用 -v 选项时,虚拟主机引用“secure”无效。此修复程序会在部署前修改 edgemicro-auth 代理,以确保虚拟主机与“-v”标志中指定的内容完全匹配。此外,您还可以为虚拟主机指定任意数量和任意名称(不再局限于“默认”和“安全”)。
- (问题 141)edgemicro reload 命令不支持配置文件选项 -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) JWT 令牌在 OAUTH 中同时针对 API 代理和资源 URI 进行验证。此问题现已解决。
- (Apigee 社区问题:https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) 微网关不支持 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/members 和 https://[host]/team/green/members,而无需创建新的 API 代理来支持新团队。请注意,不支持 /**/。
重要提示:Apigee 不支持将通配符“*”用作基本路径的第一个元素。例如,不支持以下项:/*/search。3. 为专用云配置向 CLI 添加了自定义配置路径 (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 Edge 通信,您可以考虑以下两种方案:
选项 1:
第一种方法是在 Microgateway 配置文件中将 edgemicro: proxy_tunnel 选项设置为 true:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
当 proxy_tunnel 为 true 时,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_PROXY、HTTPS_PROXY 和 NO_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 标头可以为 Google Analytics 设置 client_ip
如果存在,X-Forwarded-For 标头将设置 Edge Analytics 中报告的 client_ip 变量。借助此功能,您可以了解向 Edge Microgateway 发送请求的客户端的 IP 地址。
8. OAuth 插件变更
OAuth 插件支持 API 密钥验证和 OAuth 访问令牌验证。在此次变更之前,该插件接受这两种安全形式。经过此更改,您只能允许其中一种安全模式(同时保持向后兼容性)。
OAuth 插件添加了两个新标志:
-
allowOAuthOnly - 如果设置为 true,则每个 API 都必须包含包含 Bearer 访问令牌的 Authorization 标头。
-
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.targetPort 和 req.targetSecure。如需选择 HTTPS,请将 req.targetSecure 设置为 true;如需选择 HTTP,请将其设置为 false。如果您将 req.targetSecure 设为 true,请参阅此讨论会话了解详情。
11. 对 OAuth 令牌身份验证的初始支持 (PR 125)
您可以将 Edge Microgateway 配置为使用 OAuth 令牌进行身份验证,而不是使用用户名/密码。如需使用 OAuth 令牌,请在 edgemicro configure 命令中使用以下参数:
-t, --token <token>
例如:
edgemicro configure -o docs -e test -t <your token>
v2.4.3 中修复的 bug
- 修复了需要付费组织才能正确运行 edgemicro-auth 代理的问题。现在,您还可以在试用版组织中使用 Edge Microgateway。(PR 5)
- 修复了以下问题:流未处理完数据,但结束处理脚本仍在执行。这导致系统发送了部分响应。(PR 71)
- 修复了无法识别私有云安装的自定义配置目录的问题。(PR 110)
- 修复了客户端和 Edge Microgateway 之间的双向 SSL 问题。(PR 70)
- 修复了代理基础路径上必须有尾部斜线才能正确进行 API 密钥验证的问题。现在,基本路径的末尾无需添加尾随斜杠。 (PR 48)
版本 2.3.5
v.2.3.5 中的新功能和增强功能
代理过滤
您可以过滤 Edge Microgateway 实例将处理哪些支持 Microgateway 的代理。
Edge Microgateway 启动后,会下载其所属组织中的所有 Microgateway 感知型代理。使用以下配置可限制微网关将处理哪些代理。例如,以下配置会将微网关将要处理的代理限制为三个:edgemicro_proxy-1
、edgemicro_proxy-2
和 edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
分析数据脱敏
借助一项新配置,您可以阻止请求路径信息显示在 Edge 分析中。将以下代码添加到微网关配置中,以掩盖请求 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 秒(5 分钟)。
在插件中重写目标网址
您可以在插件中动态替换默认目标网址,只需在插件代码中修改以下变量即可:req.targetHostname 和 req.targetPath。
新的插件函数签名
添加了一个新的插件函数签名,该签名会将目标响应作为参数提供。这样一来,插件便可以更轻松地访问目标响应。
function(sourceRequest, sourceResponse, targetResponse, data, cb)
简化了默认日志记录输出
默认情况下,日志记录服务现在会忽略下载的代理、商品和 JWT 的 JSON。
您可以在启动 Edge Microgateway 时设置 DEBUG=*
,以更改为默认输出这些对象。例如:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
向 CLI 添加了自定义配置路径
默认情况下,Microgateway 配置文件位于 ./config/config.yaml 中。在 init、configure 和 start 命令中,您现在可以在命令行上指定自定义配置路径。例如:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
v2.3.3 中修复的 bug
- 修复了在处理大型请求/响应时发生的内存泄漏问题。
- 修复了插件执行顺序。现在,其行为与文档中所述的行为一致。
- 插件 accumulate-request 不再会在处理 GET 请求时挂起。
- 修复了 accumulate-response 插件中缺少响应正文导致错误的问题。
版本 2.3.1
安装注意事项
某些旧版 Edge Microgateway 允许您通过下载 ZIP 文件来安装该软件。这些 ZIP 文件已不再受支持。如需安装 Edge Microgateway,您必须使用:
npm install -g edgemicro
如需了解详情,请参阅安装主题。
v.2.3.1 中的新功能和增强功能
以下是此版本中的新功能和增强功能。
过滤代理
借助新配置,您可以过滤 Edge Microgateway 在启动时要加载的代理。以前,微网关会加载从您在 edgemicro configure 命令中指定的 Edge 组织/环境中提取的所有微网关感知型代理(名为 edgemicro_* 的代理)。借助这项新功能,您可以过滤此代理列表,以便 Edge Microgateway 仅加载您指定的代理。只需将代理元素添加到微网关配置文件中,如下所示:
edge micro: proxies: - edgemicro_[name] - edgemicro_[name] ...
例如,假设您的 Edge org/env 中有 50 个 edgemicro_*
代理,包括名为 edgemicro_foo
和 edgemicro_bar
的代理。您可以指示微网关仅使用这两个代理,如下所示:
edge micro: proxies: - edgemicro_foo - edgemicro_bar
启动后,微网关将只能调用指定的代理。尝试调用从 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
命令中移除。
此外,我们还添加了 3 个新的 CLI 命令。您必须从执行 edgemicro start 命令的同一目录中运行以下命令:
edgemicro status
- 检查 Edge Microgateway 是否正在运行。edgemicro stop
- 停止 Edge Microgateway 集群。edgemicro reload
- 无需停机即可重新加载 Edge Microgateway 配置。
实现零停机的自动配置重新加载
Edge Microgateway 会定期加载新配置,并在发生任何更改时执行重新加载。轮询会提取在 Edge 上进行的任何更改(对产品、微网关感知代理等的更改),以及对本地配置文件进行的更改。默认轮询间隔为 600 秒(5 分钟)。您可以在微网关配置文件中更改默认值,如下所示:
edgemicro: config_change_poll_interval: [seconds]
向 CLI 添加了版本信息
CLI 中添加了 --version
标志。如需获取 Edge Microgateway 的当前版本,请使用:
edgemicro --version
新增了 Edge Microgateway 服务器 SSL 选项
除了 key
和 cert
之外,Edge Microgateway 现在还支持以下服务器 SSL 选项:
选项 | 说明 |
---|---|
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 授权代理部署到 Edge 的命令在 Windows 系统上兼容。
版本 2.1.0
版本 21.0 中的新功能和增强功能
以下是新增功能和增强功能:
指定客户端 SSL/TLS 选项
您可以使用一组新的配置选项为与目标的 SSL/TLS 连接指定客户端选项。请参阅 使用客户端 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 属性。
能够使用自定义授权服务
如果您想使用自己的自定义服务来处理身份验证,请将 Edge Microgateway 配置文件中的 authUri 值更改为指向您的服务。如需了解详情,请参阅 使用自定义身份验证服务。
版本 2.0.4
Edge Microgateway v.2.0.4 于 2016 年 5 月 25 日发布。
v2.0.4 中的新功能和增强功能
以下是此版本中的新功能和增强功能:
支持产品中的资源路径
Edge Microgateway 现支持产品中的资源路径。借助资源路径,您可以根据代理路径后缀限制对 API 的访问。如需详细了解如何创建产品和配置资源路径,请参阅创建 API 产品。
支持 npm 全局安装
您现在可以使用 npm -g(全局)选项安装 Edge Microgateway。如需详细了解此选项,请参阅 npm 文档。
版本 2.0.0
Edge Microgateway v2.0.0 于 2016 年 4 月 18 日发布。
新增功能和改进(版本 2.0.0)
以下是此版本中的新功能和增强功能:
单进程服务器
Edge Microgateway 现在是单进程服务器。它不再使用双进程模型,其中一个进程(以前称为“代理”)会启动 Edge Microgateway(第二个进程)。新架构可简化自动化和容器化流程。
命名空间型配置文件
配置文件现在使用组织和环境进行命名空间分隔,因此多个 Microgateway 实例可以在同一主机上运行。运行 Edge Microgateway 配置命令后,您可以在 ~/.edgemicro 中找到配置文件。
新环境变量
现在有 4 个环境变量:EDGEMICRO_ORG、EDGEMICRO_ENV、EDGEMICRO_KEY 和 EDGEMICRO_SECRET。如果您在系统上设置了这些变量,则在使用命令行界面 (CLI) 配置和启动 Edge Microgateway 时,无需指定其值。
缓存的配置
如果 Edge Microgateway 在没有连接到 Apigee Edge 的情况下重启,则会使用缓存的配置文件 。
集群模式
现在,您可以选择在集群模式下启动 Edge Microgateway。借助集群模式,您可以充分利用多核系统。微网关使用 Node.js 集群模块来实现此功能。如需了解详情,请参阅 Node.js 文档。
已修复 v2.0.0 中的 bug
插件事件生命周期现在会正确处理包含新回调的代码的异步代码。
版本 1.1.2
Edge Microgateway v. 1.1.2 于 2016 年 3 月 14 日发布。
新增功能和改进(版本 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 中修复了以下 bug。
说明 |
---|
适用于与本地 Edge 搭配使用的 edgemicro-internal 代理的 Java 调用现在使用正确的 MGMT 服务器。 |
从代理中移除 typescript 依赖项。 |
修复了使用精简部署选项时出现的 CLI bug。 |
修复了证书逻辑依赖项引用。 |