SNI对象表示主机名与证书的多对一映射。也就是说,证书对象可以有许多与之关联的主机名;当Kong收到SSL请求时,它使用Client Hello中的SNI字段根据与证书关联的SNI查找证书对象。
SNI可以通过标签进行标记和过滤。
{
"id": "7fca84d6-7d37-4a74-a7b0-93e576089a41",
"name": "my-sni",
"created_at": 1422386534,
"tags": ["user-level", "low-priority"],
"certificate": {"id":"d044b7d4-3dc2-4bbc-8e9f-6b7a69416df6"}
}
POST /snis
POST /certificates/{certificate name or id}/snis
参数 | 描述 |
---|---|
certificate name or id required |
应与新创建的SNI关联的证书的唯一标识符或名称属性。 |
请求体
参数 | 描述 |
---|---|
name |
要与给定证书关联的SNI名称。 |
tags optional |
与SNI关联的可选字符串集,用于分组和过滤。 |
certificate |
用于将SNI主机名与表单编码关联的证书的id(UUID),符号是certificate.id=<certificate_id> ,使用JSON,"certificate":{"id":"<certificate_id>"} |
响应
HTTP 201 Created
{
"id": "7fca84d6-7d37-4a74-a7b0-93e576089a41",
"name": "my-sni",
"created_at": 1422386534,
"tags": ["user-level", "low-priority"],
"certificate": {"id":"d044b7d4-3dc2-4bbc-8e9f-6b7a69416df6"}
}
GET /snis
GET /certificates/{certificate name or id}/snis
参数 | 描述 |
---|---|
certificate name or id required |
应与新创建的SNI关联的证书的唯一标识符或名称属性。 |
响应
HTTP 200 OK
{
"data": [{
"id": "a9b2107f-a214-47b3-add4-46b942187924",
"name": "my-sni",
"created_at": 1422386534,
"tags": ["user-level", "low-priority"],
"certificate": {"id":"04fbeacf-a9f1-4a5d-ae4a-b0407445db3f"}
}, {
"id": "43429efd-b3a5-4048-94cb-5cc4029909bb",
"name": "my-sni",
"created_at": 1422386534,
"tags": ["admin", "high-priority", "critical"],
"certificate": {"id":"d26761d5-83a4-4f24-ac6c-cff276f2b79c"}
}],
"next": "http://localhost:8001/snis?offset=6378122c-a0a1-438d-a5c6-efabae9fb969"
}
PATCH /snis/{name or id}
参数 | 描述 |
---|---|
name or id required |
要更新的唯一标识符或SNI的名称。 |
请求体
参数 | 描述 |
---|---|
name |
要与给定证书关联的SNI名称。 |
tags optional |
与SNI关联的可选字符串集,用于分组和过滤。 |
certificate |
用于将SNI主机名与表单编码关联的证书的id(UUID),符号是certificate.id=<certificate_id> ,使用JSON,"certificate":{"id":"<certificate_id>"} |
响应
HTTP 200 OK
{
"id": "7fca84d6-7d37-4a74-a7b0-93e576089a41",
"name": "my-sni",
"created_at": 1422386534,
"tags": ["user-level", "low-priority"],
"certificate": {"id":"d044b7d4-3dc2-4bbc-8e9f-6b7a69416df6"}
}
PUT /snis/{name or id}
参数 | 描述 |
---|---|
name or id required |
要更新的唯一标识符或SNI的名称。 |
请求体
参数 | 描述 |
---|---|
name |
要与给定证书关联的SNI名称。 |
tags optional |
与SNI关联的可选字符串集,用于分组和过滤。 |
certificate |
用于将SNI主机名与表单编码关联的证书的id(UUID),符号是certificate.id=<certificate_id> ,使用JSON,"certificate":{"id":"<certificate_id>"} |
使用正文中指定的定义在请求的资源下插入(或替换)SNI。SNI将通过name or id
属性进行标识。
当name or id
属性具有UUID的结构时,插入/替换的SNI将由其id
标识。否则将通过其name
识别。
在没有指定id
的情况下创建新的SNI(既不在URL中也不在正文中),它将自动生成。
请注意,不允许在URL中指定name
,也不允许在请求正文中指定其他名称。
DELETE /snis/{name or id}
参数 | 描述 |
---|---|
name or id required |
要更新的唯一标识符或SNI的名称。 |
响应
HTTP 204 No Content