第 1 章 3scale API 管理 APIcast API 网关的高级操作简介
3scale APIcast 的高级操作将有助于您调整对应用程序编程接口(API)的访问配置。
1.1. 用于调用 3scale API 管理 API 的公共基本 URL 复制链接链接已复制到粘贴板!
公共基本 URL 是您的 API 客户用来向 API 产品发出请求的 URL,该产品可通过 3scale 公开。这将是您的 APIcast 实例的 URL。
如果您使用自助管理部署选项之一,您可以在您管理的域名上为提供的每个环境(登台和生产)选择自己的公共基本 URL。这个 URL 应该与您 API 后端的 URL 不同,可能类似 https://api.yourdomain.com:443,其中 yourdomain.com 是属于您的域。设置公共基础 URL 后,请确保保存更改,如有必要,将暂存中的更改提升到生产。
您指定的公共基本 URL 必须使用 OpenShift 集群中可用的端口。默认情况下,OpenShift 路由器仅侦听标准 HTTP 和 HTTPS 端口(80 和 443)上的连接。如果您希望用户通过某些其他端口连接到您的 API,请与您的 OpenShift 管理员合作以启用该端口。
APIcast 仅接受对公共基础 URL 中指定的主机名的调用。例如,如果您将 https://echo-api.3scale.net:443 指定为公共基本 URL,则正确的调用将是:
curl "https://echo-api.3scale.net:443/hello?user_key=you_user_key"
curl "https://echo-api.3scale.net:443/hello?user_key=you_user_key"
如果您的 API 没有公共域,您可以在请求中使用 APIcast IP 地址,但您仍需要在公共基础 URL 字段中指定一个值,即使该域不是真实的。在这种情况下,请确保在 Host 标头中提供主机。例如:
curl "http://192.0.2.12:80/hello?user_key=your_user_key" -H "Host: echo-api.3scale.net"
curl "http://192.0.2.12:80/hello?user_key=your_user_key" -H "Host: echo-api.3scale.net"
如果要在本地机器上部署,您可以将"localhost"指定为域,因此公共基本 URL 类似 http://localhost:80,然后您可以发出类似如下的请求:
curl "http://localhost:80/hello?user_key=your_user_key"
curl "http://localhost:80/hello?user_key=your_user_key"
如果您有多个 API 产品,请为每个产品设置适当的公共基础 URL。APIcast 根据主机名路由请求。