应用证书管理
创建应用级别证书
URI
POST /admin-api/applications/http/{app_id}/phases/ssl_cert/certs
请求参数
enabled
type: boolean
required: yes
description: 是否启用该证书
label:
type: string
required: no
description: 该证书的标签 / 描述
global_cert
type: integer
required: no (当使用全局证书时,该字段为必选)
description: 全局证书的 ID 。应用可以使用全局证书的 ID 来引用已经创建好的全局证书
server_cert
type: string
required: no (当使用手动上传的证书时,该字段为必选)
description: PEM 格式的证书文件
priv_key
type: string
required: no (当使用手动上传的证书时,该字段为必选)
description: PEM 格式的证书私钥文件
cert_chain:
type: string
required: no
description: 证书链。通常不需要上传
client_verify
type: boolean
required: no
description: 是否启用客户端证书校验。默认值为
false
,即不启动ca_cert
type: string
required: no (当开启客户端校验后,该字段为必选)
description: 为客户端签发证书使用的 CA
acme_host
type: array
required: no (当使用 ACME 签发证书时,该字段为必选)
description: 使用 ACME 签发证书,可以同时填多个域名,最终将多个域名签发到一张证书中
acme_providers
type: integer
required: no
description: 指定在全局配置好的支持 ACME 的证书签发商 id,如果未指定,则默认使用 Let’s Encrypt 进行证书签发
acme_csr_type
type: string
required: no
description: 指定 acme 签发证书的加密算法,目前支持
rsa
和ec
两种算法,默认值为rsa
acme_use_uploaded_key
type: boolean
required: no
description: 是否在 ACME 签发过程中使用用户手动上传的私钥
acme_takeover
type: boolean
required: no
description: 该选项指定手动上传的证书,是否由指定的 ACME 服务更新,默认值为
false
请求示例
Shell
curl -X POST \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/applications/http/1/phases/ssl_cert/certs \
-d '{"global_cert": 1}'
响应示例
Status: 200 OK
{
"data": {"id": 1},
"status": 0
}
获取应用级别证书列表
URI
GET /admin-api/applications/http/{app_id}/phases/ssl_cert/certs
请求示例
Shell
curl \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/applications/http/1/phases/ssl_cert/certs
响应示例
Status: 200 OK
{
"data": [
{
"client_verify": false,
"enabled": true,
"global_cert": 1,
"id": 1,
}
],
"status": 0
}
更新应用级别证书
URI
PUT /admin-api/applications/http/{app_id}/phases/ssl_cert/certs/{cert_id}
请求示例
Shell
curl -X PUT \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/applications/http/1/phases/ssl_cert/certs/1 \
-d '{"global_cert": 2}'
响应示例
Status: 200 OK
{"status":0}
删除应用级别证书
URI
DELETE /admin-api/applications/http/{app_id}/phases/ssl_cert/certs/{cert_id}
请求示例
Shell
curl -X DELETE \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/applications/http/1/phases/ssl_cert/certs/1 \
响应示例
Status: 200 OK
{ "status": 0 }