绑定域名证书 - AssociateCertificateV2
功能介绍
如果创建API时,“定义API请求”使用HTTPS请求协议,那么在独立域名中需要添加SSL证书。
使用实例自定义入方向端口的特性时,相同的域名会同时绑定证书,注意开启/关闭客户端校验会对相同域名的不同端口同时生效。
本章节主要介绍为特定域名绑定证书。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
apig:apiGroup:createAndBindCertificateToDomain
Write
instance *
g:ResourceTag/<tag-key>
- apig:domains:bindCertificate
- apig:instance:get
- apig:apiGroup:get
- apig:certificate:get
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见获取项目ID。 |
instance_id | 是 | String | 实例ID,在API网关控制台的“实例信息”中获取。 |
group_id | 是 | String | 分组的编号 |
domain_id | 是 | String | 域名的编号 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
cert_content | 是 | String | 证书内容 |
name | 是 | String | 证书名称。长度为4 ~ 50位的字符串,字符串由中文、英文字母、数字、下划线组成,且只能以英文或中文开头。 |
private_key | 是 | String | 私钥内容 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
url_domain | String | 自定义域名 |
id | String | 自定义域名的编号 |
status | Integer | CNAME解析状态
|
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 | 证书的编号 |
instance_id | String | 实例ID。 最小长度:32 最大长度:36 |
api_group_id | String | API分组的ID。 最小长度:32 最大长度:36 |
api_group_name | String | API分组的名称。 最小长度:3 最大长度:255 |
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:403
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:404
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:500
参数 | 参数类型 | 描述 |
|---|---|---|
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 |
错误码
请参见错误码。

