NGINX.COM
Web Server Load Balancing with NGINX Plus

NGINX Controller 3.7 中的全新 API 管理模块和开发人员门户

自从我们在一月下旬宣布推出 NGINX Controller 3.0,便一直保持着稳定的发布节奏。目前,我们的 NGINX Controller已更新至版本 3.7。该版本不仅为API 管理模块引入了一系列全面的增强功能,而且还发布了开发人员的门户GA版本。

面向 API 定义的全新 GUI

版本 3.7 对 API 定义工作流进行了全新设计,将控制器 (Controller) 以应用为中心的模型扩展到了 API 管理。在这里,我们通过一款名为 Sports(体育) 的示例应用来解释下该流程。球迷可以通过移动设备访问该应用,从而实时获取赛事比分。

我们首先为 Sports(体育) 应用创建开发和生产环境。

我们在开发和生产环境中为 Sports(体育) 应用各创建一个应用对象。

我们在开发环境中定义一个名为 sports-dev-api-def的 API。

我们在开发环境中指定一个名为 sports-dev-idp 的 OpenID Connect 身份提供者 (IdP),并以 JSON Web 令牌 (JWT) 格式提供身份验证凭证。

全新的 API 生命周期管理设置

我们在NGINX Controller 3.7 中引入了全新的 API 生命周期管理特性,其中包括:

  • 您现在可以为 API 定义指定版本,并为每个 API 同时发布多个版本。此截图显示了 sports-dev-api-def两个 API 版本的详细信息。

  • 通过全新 API 定义界面新建 API 定义时,可以更轻松地导入 OpenAPI 格式文件。

全新 API 安全设置

版本 3.7 引入了备受用户期待的两大 API 安全特性:按 URI 访问控制和JSON 格式的错误消息

按个 URI 访问控制

现在,您可以为每个 URI 定义条件访问策略,包括速率限制调节、Burst 支持和 OpenID Connect 身份提供者(IdP)身份验证选项(目前支持 JWT 和 API 密钥)。

在此示例中,客户端请求被限制为每分钟 100 个。超载的请求会被立即拒绝,状态代码为 429 Too Many Requests.

在此示例中,我们仅允许管理员(拥有 JWT 且角色声明类型为 admin 的用户)访问。

在此示例中,我们指定了用户可以在特定 URI 上执行哪些 HTTP 方法。

JSON 错误消息

HTML 错误非常适合网站,而 JSON 错误则更适合 API。在此示例中,我们将 JSON 指定为 API 失败时的错误消息格式。

在此配置下,对于未经授权的 API 调用,返回以下 JSON:

{
  status: 403,
  message: "Forbidden"
}

专为 DevOps 而设计

借助控制器(Controller),您可以使用 API 将 API 生命周期的所有阶段(包括定义、发布、面向流量管理的网关配置及监控)集成到 DevOps 工作流程中。通过这种方式将 API 管理集成到 CI/CD 流水线中可帮助您加快 API 发布速度。

此截图显示了Controller生成的 Sports(体育)应用在开发环境中的 API 定义的JSON payload。如果点击提交按钮,控制器(Controller)会按指示发起 POST 调用以部署 API 定义。或者,您可以在 CI/CD 工作流中通过 API 调用提交 payload。

全新的开发人员门户体验

在版本 3.7 中,NGINX Controller 开发人员门户正式开始 GA。

为了获得最大的灵活性,您可以将开发人员门户托管在任何 NGINX Plus 服务器上,并使用该服务器作为 API 网关,从而最大程度地提高容量利用率,或者使用逻辑上分离的服务器作为 API 网关,以提高可用性和性能。同样,开发人员门户无需与 API 网关位于同一环境中,例如门户可以位于 AWS 中,而 API 网关可以位于本地。

借助 NGINX Controller 的开发人员门户,您可以快速为所有已发布的 API 生成文档和示例代码,从而帮助使用这些 API 的开发人员快速上手。

用于创建开发人员门户的全新 GUI 进一步简化了此过程。您可以通过添加产品标识以及设置颜色和字体来自定义门户的外观和感觉,如以下截图所示:

  • 品牌设置

  • 文字、背景和按钮的颜色

  • 标题、正文和按钮的字体

立即下载 NGINX Controller 30 天免费试用版或者联系我们

Hero image
Is Your API Real-Time?

Test if your API feels slow to users, with rtapi – NGINX's real‑time API latency measurement test.

Tags

No More Tags to display