## 10\. SNI *地址*:/snis *说明*:SNI对象表示主机名到证书的多对一映射。也就是说,一个证书对象可以有许多与之关联的主机名;当Kong接收到SSL请求时,它使用clienthello中的SNI字段根据与证书相关联的SNI查找证书对象。 ### 10.1 请求方法 | 序号 | NAME | 请求URI | 请求body | 说明 | | --- | --- | --- | --- | --- | | 1 | POST | /snis | {...} | 新增sni | | 2 | POST | /certificates/{certificate name or id}/snis | | 新增sni | | 3 | GET | /snis | | 查询sni列表 | | 4 | GET | /certificates/{certificate name or id}/snis | | 查询sni列表 | | 5 | GET | /snis/{name or id} | | 获取sni信息 | | 6 | PATCH | /snis/{name or id} | {...} | 更新sni | | 7 | PUT | /snis/{name or id} | {...} | 新增/更新sni | | 8 | DELETE | /snis/{name or id} | | 删除sni | ### 10.2 body 请求参数 | 参数名 | 可选 | 默认值 | 说明 | 示例 | | --- | --- | --- | --- | --- | | name | 必选 | | 要与给定证书关联的SNI名称。在最左边(后缀)或最右边(前缀)位置可以包含一个通配符。这在维护多个子域时非常有用,因为可以使用通配符名称配置单个SNI来匹配多个子域,而不是为每个子域创建SNI实体。有效的通配符位置是mydomain.\*,\*。我的域名,和\*。[www.mydomain.com](http://www.mydomain.com)。普通的SNI名称(没有通配符)在匹配时优先,先是前缀,然后是后缀 | mydomain.\* | | tags | 可选 | | 标签,数组形式的哈 | | | certificate | 必选 | | "certificate":{"id":""} | | ### 10.3 数据样例 body 请求参数 ``` { "id": "7fca84d6-7d37-4a74-a7b0-93e576089a41", "name": "my-sni", "created_at": 1422386534, "tags": ["user-level", "low-priority"], "certificate": {"id":"d044b7d4-3dc2-4bbc-8e9f-6b7a69416df6"} } ``` sni列表 ``` { "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" } ```