搜索

3.4. 配置您的产品

download PDF

您必须在 Private Base URL 字段中声明您的 API 后端,这是 API 后端的端点主机。在处理了所有身份验证、授权、速率限值和统计数据后,APIcast 将所有流量重定向到您的 API 后端。

本节将指导您配置产品:

3.4.1. 声明 API 后端

通常,您的 API 的私有基本 URL 将会像 https://api-backend.yourdomain.com:443 一样在您管理的域中(yourdomain.com)。例如,如果您与 Twitter API 集成,则私有基本 URL 为 https://api.twitter.com/

在本例中,您将使用 3scale 托管的 Echo API,它是一个简单的 API,接受任何路径并返回有关请求的信息(路径、请求参数、标头等)。其专用基础 URL 是 https://echo-api.3scale.net:443

流程

  • 测试您的私有(非受管)API 是否正常工作。例如,对于 Echo API,您可以使用 curl 命令进行以下调用:

    $ curl "https://echo-api.3scale.net:443"

    您将获得以下响应:

    {
        "method": "GET",
        "path": "/",
        "args": "",
        "body": "",
        "headers": {
          "HTTP_VERSION": "HTTP/1.1",
          "HTTP_HOST": "echo-api.3scale.net",
          "HTTP_ACCEPT": "*/*",
          "HTTP_USER_AGENT": "curl/7.51.0",
          "HTTP_X_FORWARDED_FOR": "2.139.235.79, 10.0.103.58",
          "HTTP_X_FORWARDED_HOST": "echo-api.3scale.net",
          "HTTP_X_FORWARDED_PORT": "443",
          "HTTP_X_FORWARDED_PROTO": "https",
          "HTTP_FORWARDED": "for=10.0.103.58;host=echo-api.3scale.net;proto=https"
        },
        "uuid": "ee626b70-e928-4cb1-a1a4-348b8e361733"
      }

3.4.2. 配置身份验证设置

您可以在 [Your_product_name] > Integration > SettingsAUTHENTICATION 部分中为 API 配置身份验证设置。

表 3.1. 可选的身份验证字段
字段描述

Auth user key

设置与凭据位置关联的用户密钥。

Credentials location

定义凭据是作为 HTTP 标头、查询参数还是 HTTP 基本身份验证传递。

Host Header

定义自定义主机请求标头。如果您的 API 后端仅接受来自特定主机的流量,则需要此设置。

Secret Token

用于阻止开发人员向 API 后端发出请求。设置此处标头的值,并确保您的后端只允许使用此机密标头调用。

另外,您可以在 [Your_product_name] > Integration > Settings 下配置 GATEWAY RESPONSE 错误代码。为错误定义 Response CodeContent-typeResponse Body :身份验证失败、身份验证缺失和不匹配。

表 3.2. 响应代码和默认响应正文
响应代码响应正文

403

身份验证失败

403

缺少身份验证参数

404

没有匹配的映射规则

429

超过用量限制

3.4.3. 配置 API 测试调用

配置 API 涉及使用产品测试后端,并将 APIcast 配置提升到暂存和生产环境,以根据请求调用进行测试。

对于每个产品,请求会根据路径重定向到对应的后端。当您将后端添加到产品时会配置这个路径。例如,如果您在某个产品中添加了两个后端,每个后端都有自己的路径。

先决条件

流程

  1. 进入到 [Your_product_name] > Integration > Configuration,将 APIcast 配置提升到 Staging。
  2. APIcast 配置 下,您将看到添加到产品的每个后端的映射规则。点 Promote v.[n] to Staging APIcast

    • v.[n] 表示要提升的版本号。
  3. 提升到暂存后,您可以将其提升为 Production。在 Staging APIcast 下,点 Promote v.[n] to Production APIcast

    • v.[n] 表示要提升的版本号。
  4. 要在命令行中测试对您的 API 的请求,请使用用于测试的curl 示例中提供的命令。

    • curl 命令示例基于产品中的第一个映射规则。

在测试对 API 的请求时,您可以通过添加方法和指标来修改映射规则

每次修改配置时,并在调用 API 之前,请确保提升到 Staging 和 Production 环境。当要提升到 Staging 环境的待处理更改时,您会在管理门户中看到一个声明标记,它位于 Integration 菜单项的旁边。

3scale Hosted APIcast 网关进行凭证验证,并应用您为 API 应用计划定义的速率限制。如果您在没有凭证的调用或具有无效凭证的调用,您会看到出错信息,Authentication failed

3.4.4. 在 Podman 上部署 APIcast

这是在 Pod Manager(Podman)容器环境中部署 APIcast 的逐步指南,用作红帽 3scale API 管理 API 网关。

注意

在 Podman 容器环境中部署 APIcast 时,受支持的 Red Hat Enterprise Linux(RHEL)和 Podman 版本如下:

  • RHEL 8.x/9.x
  • Podman 4.2.0/4.1.1

先决条件

要在 Podman 容器环境中部署 APIcast,请执行以下部分中所述的步骤:

3.4.4.1. 安装 Podman 容器环境

本指南涵盖了在 RHEL 8.x 上设置 Podman 容器环境的步骤。RHEL 8.x 中不包括 Docker,因此请使用 Podman 来运行容器。

有关 RHEL 8.x 的 Podman 的详情,请参阅容器命令行参考

流程

  • 安装 Podman 容器环境软件包:

    $ sudo dnf install podman

    其他资源

    对于其他操作系统,请参阅以下 Podman 文档:

  • Podman 安装说明

3.4.4.2. 运行 Podman 环境

要运行 Podman 容器环境,请按照以下步骤操作。

流程

  1. 从 Red Hat registry 下载就绪的 Podman 容器镜像:

    $ podman pull registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.13
  2. 在 Podman 中运行 APIcast:

    $ podman run --name apicast --rm -p 8080:8080 -e THREESCALE_PORTAL_ENDPOINT=https://<access_token>@<domain>-admin.3scale.net registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.13

    在这里,<access_token> 是 3scale 帐户管理 API 的访问令牌。您可以使用 Provider Key 而不是访问令牌。<domain>-admin.3scale.net 是 3scale 管理门户的 URL。

此命令在端口 8080 上运行名为 "apicast" 的 Podman 容器引擎,并从 3scale 管理门户获取 JSON 配置文件。有关其他配置选项,请参阅 安装 APIcast

3.4.4.2.1. 使用 Podman 测试 APIcast

上述步骤确保 Podman 容器引擎使用您自己的配置文件和 3scale registry 中的 Podman 容器镜像来运行。您可以通过 APIcast 在端口 8080 上测试调用,并提供正确的身份验证凭据,您可以从 3scale 帐户获得这些凭据。

测试调用不仅验证 APIcast 是否在正确运行,还验证身份验证和报告是否得到成功处理。

注意

确保您用于调用的主机与 Integration 页面的 Public Base URL 字段中配置的主机相同。

3.4.4.3. podman 命令选项

您可以在 podman 命令中使用以下选项示例:

  • -d :在分离模式中运行容器,并打印容器 ID。如果未指定,容器将以前台模式运行,您可以使用 CTRL + c 来停止容器。以分离模式启动时,您可以使用 podman attach 命令重新附加到容器,例如 podman attach apicast
  • ps-a :Podman ps 用于列出创建和运行容器。将 -a 添加到 ps 命令将显示所有运行和停止的容器,例如 podman ps -a
  • inspect-l:检查正在运行的容器。例如,使用 inspect 查看分配给容器的 ID。使用 -l 获取最新容器的详细信息,例如 podman inspect -l | grep Id\":

3.4.4.4. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.