后端配置

最近更新时间:2019-06-25 16:58:33

对接 SCF

当用户选择 API 网关到 Serverless Cloud Function(SCF)不开启响应集成时(现有使用模式)时,在 API 网关向 SCF 发送请求时,会以固定的结构体对 request 信息进行组合。SCF 收到的为此固定结构体。返回保持透传不做处理。

配置说明:

  1. 当后端对接 SCF 时,需要配置您在 SCF 上创建的函数。
  2. 配置超时时间,单击【完成】。

    当用户选择 API 网关到 SCF 开启响应时,API 网关向 SCF 发送请求时会以固定结构体对 request 信息进行组合,SCF 返回的也需要为固定结构体。API 网关再将 SCF 返回的内容映射到 statusCode、header、body 等位置返回给客户端。

这种情况下,需要用户以如下数据格式返回数据给 API 网关,以便 API 网关解析:

{ 
        "isBase64Encoded": false, //是否使用base64编码,值为 true 或者 false 
        "statusCode": 200, // http请求状态码 
        "headers": {"Content-Type":"text/html"}, 
        "body": "<html><body><h1>Heading</h1><p>Paragraph.</p></body></html>" 
}

API 网关发往 SCF 的结构体格式为:

{
  "requestContext": {
    "serviceId": "service-f94sy04v",
    "path": "/test/{path}",
    "httpMethod": "POST",
    "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
    "identity": {
      "secretId": "abdcdxxxxxxxsdfs"
    },
    "sourceIp": "10.0.2.14",
    "stage": "release"
  },
  "headers": {
    "Accept-Language": "en-US,en,cn",
    "Accept": "text/html,application/xml,application/json",
    "Host": "service-3ei3tii4-251000691.ap-guangzhou.apigateway.myqloud.com",
    "User-Agent": "User Agent String"
  },
  "body": "{\"test\":\"body\"}",
  "pathParameters": {
    "path": "value"
  },
  "queryStringParameters": {
    "foo": "bar"
  },
  "headerParameters":{
    "Refer": "10.0.2.14"
  },
  "stageVariables": {
    "stage": "release"
  },
  "path": "/test/value",
  "queryString": {
    "foo" : "bar",
    "bob" : "alice"
  },
  "httpMethod": "POST"
}

对接 HTTP

当您的业务部署在其他云,或者本地服务器,用 HTTP 开放时,后端选用 HTTP 对接。
配置说明:

  1. 后端对接 HTTP 时,需要选择您的后端类型为 HTTP。
  2. 选择是否启用 VPC,如需启用 VPC,请根据控制台提示选择 VPC 资源。
  3. 输入后端域名,以http://https://开头,不包括后面的路径,例如http://api.myservice.comhttp://108.160.162.30
  4. 输入后端路径,以/开头,如/path/path/{petid}
  5. 选择请求方法,前后端选择的请求方法可不一致。
  6. 设置后端超时时间。超时时间的最大限制为30分钟。在 API 网关调用后端服务,未在超时时间内获得响应时,API 网关将终止此次调用,并返回相应的错误信息。
  7. 设置映射前端的后端参数。
  8. 单击【下一步】,配置响应结果。

API 网关后端对接 VPC 内的 CLB 资源

当用户在配置后端对接服务为 VPC 内的 CLB 时,前端配置与其他 API 配置方法相同,后端配置方法如下:

  1. 在后端配置中需要先选择所需对接的 VPC。
  2. 选择了您资源所在的 VPC 后,选择 VPC 内资源为 CLB。目前 API 网关仅支持对接 VPC 内的 CLB,后续还会陆续支持 VPC 内的其他云资源。
  3. 当您选择后,在后端地址处填写 http://vip+porthttps://vip+port, 这里根据您填写的不同我们发往 CLB 的请求会分别为 HTTP 请求或 HTTPS 请求。此处的 VIP 是 CLB 的 VIP,您可在应用型内网 CLB 的基本信息中查询到。
  4. 选择监听类型。
    • 如果您选择的是 HTTP/HTTPS 的 CLB 监听类型,在后端路径配置中,需要将后端路径配置为用户在 CLB 中监听器中配置的路径。
      CLB 中监听器配置的域名及路径:

      API 网关中的后端路径,需要和 CLB 中的路径一致。

      此外,还需要在常量参数处配置一个名为 host 的参数,放在 header 中,参数值为 CLB 监听器中配置的域名。
    • 如果您选择的是 TCP/UDP 的 CLB 监听类型,在后端配置中,需要将后端路径配置为 CLB 后端挂载 CVM 中业务所需的路径。
      如果您在 CVM 中配置了 host 校验,则如同使用七层监听器一样,需要在常量参数中配置名为 host 的参数,根据您自身的业务选择所需放置的地址。后续的配置与其他的 API 配置相同。

      注意:

      当后端对接 CLB 时,需要将后端挂载的 CVM 上的安全组放通100.64.0.0/10,9.0.0.0/8 网段。

对接 mock

mock 会对 API 请求返回固定配置的响应。mock 常用于测试开发,可以在后端服务还未完成的情况下预先完成 API 配置和响应。对接 mock 时,只需要配置您的返回数据,单击【完成】即可。