[TOC] ## 获取acl列表 ~~~[api] get:/v1/acls integer:page=1#当前页码 integer:limit=10#单页显示数量 boolean:enable#禁用或启用 <<< 返回结果 { "code": 0, "count": 1, "data": [{ "create_at": null, "create_at2": "2021-11-25 09:29:42", "data": "[{\"acl_action\": \"allow\", \"acl_matcher\": {\"country_iso_code\": {\"operator\": \"=\", \"value\": \"CN\"}}}]", "default_action": "reject", "des": "", "enable": 1, "id": 1, "name": "只允许中国", "state": null, "task_id": null, "uid": 2, "update_at": null, "update_at2": "2021-11-25 09:29:42", "username": "jason", "version": 1 }] } ~~~ ## 添加acl ~~~[api] post:/v1/acls *string:name#acl名称 des#备注 *default_action#默认策略,可选为reject、allow data#acl规则,格式为数组,数组元素格式为{"acl_action":"allow","acl_matcher":{"ip":{"operator":"=","value":"1.1.1.1"}}}。acl_action可选值为reject、allow;acl_matcher可选的键值有ip、host、accept_language、user_agent、referer、uri、req_uri、req_method、country_iso_code,operator可选值有=、!=、!contain、contain、!AC、AC。当operator值为!AC或AC时,value值格式需要为数组。 <<< 返回结果 { "code": 0, "data": "1", "msg": "ACL添加成功" } <<< 提交内容 { "name": "只允许中国", "des": "", "data": [{ "acl_action": "allow", "acl_matcher": { "country_iso_code": { "operator": "=", "value": "CN" } } }], "default_action": "reject" } ~~~ ## 批量修改acl (提交格式为数组) ~~~[api] put:/v1/acls *integer:id#acl id string:name#acl名称 des#备注 default_action#默认策略,可选为reject、allow data#acl规则,格式为数组,数组元素格式为{"acl_action":"allow","acl_matcher":{"ip":{"operator":"=","value":"1.1.1.1"}}}。acl_action可选值为reject、allow;acl_matcher可选的键值有ip、host、accept_language、user_agent、referer、uri、req_uri、req_method、country_iso_code,operator可选值有=、!=、!contain、contain、!AC、AC。当operator值为!AC或AC时,value值格式需要为数组。 boolean:enable#禁用或启用 <<< 返回结果 { "code": 0, "data": "", "msg": "更新ACL成功" } <<< 提交内容 [{ "id": 1, "enable": 0 }, { "id": 2, "enable": 0 }] ~~~ ## 获取单个acl ~~~[api] get:/v1/acls/<Acl ID> <<< 返回结果 { "code": 0, "data": { "create_at": null, "data": "[{\"acl_action\": \"allow\", \"acl_matcher\": {\"country_iso_code\": {\"operator\": \"=\", \"value\": \"CN\"}}}]", "default_action": "reject", "des": "", "enable": 1, "id": 1, "name": "只允许中国", "task_id": null, "uid": 2, "update_at": null, "version": 1 }, "msg": "" } ~~~ ## 修改单个acl ~~~[api] put:/v1/acls/<Acl ID> string:name#acl名称 des#备注 default_action#默认策略,可选为reject、allow data#acl规则,格式为数组,数组元素格式为{"acl_action":"allow","acl_matcher":{"ip":{"operator":"=","value":"1.1.1.1"}}}。acl_action可选值为reject、allow;acl_matcher可选的键值有ip、host、accept_language、user_agent、referer、uri、req_uri、req_method、country_iso_code,operator可选值有=、!=、!contain、contain、!AC、AC。当operator值为!AC或AC时,value值格式需要为数组。 boolean:enable#禁用或启用 <<< 返回结果 { "code": 0, "data": "", "msg": "更新ACL成功" } <<< 提交内容 { "name": "new acl", } ~~~ ## 删除acl ~~~[api] delete:/v1/acls/<Acl ID,多个以逗号分隔> <<< 返回结果 { "code": 0, "data": "", "msg": "ACL删除成功" } ~~~