更新时间:2024-11-11 GMT+08:00
分享

绑定域名证书

功能介绍

如果创建API时,“定义API请求”使用HTTPS请求协议,那么在独立域名中需要添加SSL证书。

使用实例自定义入方向端口的特性时,相同的域名会同时绑定证书,注意开启/关闭客户端校验会对相同域名的不同端口同时生效。

本章节主要介绍为特定域名绑定证书。

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见获取项目ID

instance_id

String

实例ID,在API网关控制台的“实例信息”中获取。

group_id

String

分组的编号

domain_id

String

域名的编号

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

cert_content

String

证书内容

name

String

证书名称。长度为4 ~ 50位的字符串,字符串由中文、英文字母、数字、下划线组成,且只能以英文或中文开头。

private_key

String

私钥内容

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

url_domain

String

自定义域名

id

String

自定义域名的编号

status

Integer

CNAME解析状态

  • 1: 未解析

  • 2: 解析中

  • 3: 解析成功

  • 4: 解析失败

min_ssl_version

String

支持的最小SSL版本

is_http_redirect_to_https

Boolean

是否开启http到https的重定向,false为关闭,true为开启,默认为false

缺省值:false

verified_client_certificate_enabled

Boolean

是否开启客户端证书校验。只有绑定证书时,该参数才生效。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。

缺省值:false

ingress_http_port

Integer

访问该域名绑定的http协议入方向端口,-1表示无端口且协议不支持,可使用80默认端口,其他有效端口允许的取值范围为1024~49151,需为实例已开放的HTTP协议的自定义入方向端口。

当创建域名时,该参数未填表示用默认80端口;如果填写该参数,则必须同时填写https_port;如果要http_port和https_port同时使用默认端口,则两个参数都不填。

当修改域名时,该参数未填表示不修改该端口。

最小值:-1

最大值:49151

ingress_https_port

Integer

访问该域名绑定的https协议入方向端口,-1表示无端口且协议不支持,可使用443默认端口,其他有效端口允许的取值范围为1024~49151,需为实例已开放的HTTPS协议的自定义入方向端口。

当创建域名时,该参数未填表示用默认443端口;如果填写该参数,则必须同时填写http_port;如果要http_port和https_port同时使用默认端口,则两个参数都不填。

当修改域名时,该参数未填表示不修改该端口。

最小值:-1

最大值:49151

ssl_name

String

证书的名称

ssl_id

String

证书的编号

ssl_infos

Array of SslInfo objects

SSL证书列表。

表5 SslInfo

参数

参数类型

描述

ssl_id

String

SSL证书编号。

ssl_name

String

SSL证书名称。

algorithm_type

String

证书算法类型:

  • RSA

  • ECC

  • SM2

type

String

证书可见范围:

  • instance:当前实例

  • global:全局

缺省值:global

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

绑定证书到域名上

{
  "name" : "cert_demo",
  "private_key" : "'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----\\n'",
  "cert_content" : "'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----\\n'"
}

响应示例

状态码: 201

Created

{
  "ssl_name" : "cert_demo",
  "url_domain" : "www.example.com",
  "ssl_id" : "a27be832f2e9441c8127fe48e3b5ac67",
  "id" : " f6bb84ccf1c34035878aa51b7253b21c",
  "status" : 3
}

状态码: 400

Bad Request

{
  "error_code" : "APIG.2012",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

状态码: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

状态码: 404

Not Found

{
  "error_code" : "APIG.3020",
  "error_msg" : "The URL domain does not exist"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码

相关文档