應用證書管理
建立應用級別證書
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 }