3.4. 配置服务
您必须在 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 > Settings 的 AUTHENTICATION 部分中为 API 配置身份验证设置。
字段 | 描述 |
---|---|
Auth user key | 设置与凭据位置关联的用户密钥。 |
Credentials location | 定义凭据是作为 HTTP 标头、查询参数还是 HTTP 基本身份验证传递。 |
Host Header | 定义自定义主机请求标头。如果您的 API 后端仅接受来自特定主机的流量,则需要此设置。 |
Secret Token | 用于阻止开发人员向 API 后端发出请求。设置此处标头的值,并确保您的后端只允许使用此机密标头调用。 |
另外,您可以在 [Your_product_name] > Integration > Settings 下配置 GATEWAY RESPONSE 错误代码。为错误定义 Response Code、Content-type 和 Response Body:身份验证失败、缺少身份验证和不匹配。
响应代码 | 响应正文 |
---|---|
403 | 身份验证失败 |
403 | 缺少身份验证参数 |
404 | 没有匹配的映射规则 |
429 | 超过用量限制 |
3.4.3. 配置 API 测试调用
配置 API 涉及使用产品测试后端,并将 APIcast 配置提升到暂存和生产环境,以根据请求调用进行测试。
对于每个产品,请求会根据路径重定向到对应的后端。当您将后端添加到产品时会配置这个路径。例如,如果您在某个产品中添加了两个后端,每个后端都有自己的路径。
先决条件
- 添加到产品的一个或多个后端。
- 添加到产品的每个后端的映射规则。
- 应用计划定义访问策略。
- 订阅 应用程序 计划的应用程序。
流程
- 进入到 [Your_product_name] > Integration > Configuration,将 APIcast 配置提升到 Staging。
在 APIcast 配置 下,您将看到添加到产品的每个后端的映射规则。点 Promote v.[n] to Staging APIcast。
- v.[n] 表示要提升的版本号。
提升到暂存后,您可以将其提升为 Production。在 Staging APIcast 下,点 Promote v.[n] to Production APIcast。
- v.[n] 表示要提升的版本号。
要在命令行中测试对您的 API 的请求,请使用用于测试的curl 示例中提供的命令。
- curl 命令示例基于产品中的第一个映射规则。
在测试对 API 的请求时,您可以通过添加方法和指标来修改映射规则。
每次修改配置时,并在调用 API 之前,请确保提升到 Staging 和 Production 环境。当要提升到 Staging 环境的待处理更改时,您会在管理门户中看到一个声明标记,它位于 Integration 菜单项的旁边。
3scale Hosted APIcast 网关进行凭证验证,并应用您为 API 应用计划定义的速率限制。如果您在没有凭证的调用或具有无效凭证的调用,您会看到出错信息,Authentication failed
。