API网关目前已经支持了泛域名绑定,用户可以将泛域名解析到API网关后直接在控制台上将对应的泛域名绑定自己的API分组上,然后就可以通过泛域名来调用API网关上托管的对应分组下的所有API。

先介绍一下泛域名绑定的功能,假如您是abc.com这个域名的拥有者,您想将abc.com这个域名的所有子域名(比如1.abc.com,2.abc.com)都指向API网关对外提供服务,现在可以通过两个步骤实现这个能力:

  1. 在您的域名解析管理平台将*.abc.com通过CNAME的方式解析到API网关分组的公网二级域名上;
  2. 在API网关控制台的分组页面上,将*.abc.com绑定到对应的分组上。

一旦绑定成功后,客户端就可以通过abc.com这个域名的所有子域名(比如1.abc.com,2.abc.com)来访问所绑定的分组下所有API了,比如对应分组下有个API可以通过Get方法匿名访问,那么在绑定了*.abc.com这个泛域名之后,就可以通过1.abc.com,2.abc.com等域名同时来访问了:

下面我们将一个测试域名的泛域名*.test.yourdomain.com绑定到API网关,绑定后就可以使用1.test.yourdomain.com,2.test.yourdomain.com等域名来访问API网关,我们来具体走一遍绑定泛域名的流程。

1. 修改泛域名解析

步骤1. 在API网关分组详情页面找到这个分组对应的API网关提供的公网二级域名

步骤2. 进入自己的域名解析管理页面,阿里云的域名解析管理页面入口在:https://dns.console.aliyun.com, 在域名列表页面找到要管理的域名,点击域名上的链接进入域名的管理页面。

步骤3. 增加一条需要绑定到API网关的域名的子记录,记录类型选择CNAME ,主机记录填写*.test,记录值填写刚才第一步获取到的公网二级域名,点击确定就完成了。

2. 在API网关上绑定泛域名

步骤1. 进入API网关控制台,点击左边菜单的分组管理,进入分组列表页面,然后选择要绑定域名的分组,进入分组详情页面。 步骤2. 在页面右下方看到绑定域名的按钮,点击按钮: 步骤3. 进入域名绑定页面,填写刚才做完解析的泛域名*.test.yourdomain.com,点击确定后域名绑定成功。

绑定成功后,我们就可以随意使用泛域名来访问这个分组下的API了,假如您有一个API,可以通过简单的curl来访问:

curl http://1.test.yourdomain.com/apipath -i
HTTP/1.1 200 OK
Date: Mon, 23 Mar 2020 08:40:01 GMT
Connection: keep-alive
Keep-Alive: timeout=25
Server: Jetty(7.2.2.v20101205)
X-Ca-Request-Id: E2B8CBAB-D6EF-4576-838F-44DDC1A6B20D

curl http://2.test.fredhuang.com/httpCommon -i
HTTP/1.1 200 OK
Date: Mon, 23 Mar 2020 08:40:56 GMT
Connection: keep-alive
Keep-Alive: timeout=25
Server: Jetty(7.2.2.v20101205)
X-Ca-Request-Id: C0688191-BFFC-4571-BE74-5F82B0C0A731

3.使用限制

  1. 泛域名绑定之前一定要先将泛域名解析到分组二级域名,否则会绑定失败
  2. 只有VPC实例会支持泛域名能力。