网站
CDN 加速站点。新建至少要域名与源站;管理员可跨租户管理。
sites网站鉴权: 用户(部分参数仅管理员)27 个接口列出站点
GET
/api/v2/sites鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | — | 页码,从 1 开始。 |
| page_size | integer | — | 每页条数。 |
| sort | string | — | 排序字段,逗号分隔,前缀 `-` 表示降序,如 `-created_at,id`。 |
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| ids | string | — | 只列这些 id:逗号分隔的正整数,去重后至多 200 个(同 page_size 上限,超了 400);空串等同不传。与其他条件取交集;看不到的 id 不返回也不报错。分页照旧,一次取回要把 page_size 设成不少于 id 个数。 |
| domain | string | — | 按域名子串过滤(不分大小写):a.example.com 也会命中 www.a.example.com;精确查用 domains。 |
| domains | string | — | 多个域名逗号分隔,站点任一域名与其中之一整项相同即命中(不分大小写,不做子串匹配)。 |
| group_id | integer | — | 只列该分组里的站点。 |
| group_ids | string | — | 多个分组 id 逗号分隔(正整数,去重后至多 200 个),站点在其中任一分组里即命中;可与 group_id 同用(两者都要满足)。 |
| app | string | — | 按体检识别出的程序(report_checkup_sites.app,如 wordpress)精确过滤;还没体检过的站点不命中。 |
| enabled | boolean | — | 按启停过滤。 |
| id | integer | — | 按站点 id 精确过滤。 |
| name | string | — | 按名称子串过滤。 |
| origin | string | — | 按源站主机子串过滤。 |
| stop_code | integer | — | 按停服码过滤;0 = 正常。 |
| upid | integer | — | 按用户套餐过滤。 |
| http_port | integer | — | 只列 HTTP 监听端口(config.http_ports)里有这个端口的站点,整段匹配。 |
| https_port | integer | — | 只列 HTTPS 监听端口(config.https.ports)里有这个端口的站点;没开 HTTPS 的不算,整段匹配。 |
| https_enabled | boolean | — | true 只列开了 HTTPS(config.https 有监听端口)的站点,false 只列没开的。 |
| package_id | integer | — | 按基础套餐过滤。 |
| region_id | integer | — | 按区域过滤:接入名的主线路分组属于该区域;没有自己接入名的按所属已售套餐的共用接入名算。 |
| node_group_id | integer | — | 按线路分组过滤:接入名的主线路分组或备用线路分组是它。 |
| cname_domain_id | integer | — | 按接入根域过滤。 |
| cname_hostname | string | — | 按接入名主机记录精确过滤。 |
| sync_state | string | — | 按配置同步状态过滤:behind = 配置落后(还有在线节点没装上它最近一次修改后的配置版本); |
创建站点
POST
/api/v2/sites鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 管理员代建时的属主租户(必填);租户调用时忽略,属主恒为本人。 |
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cname | CnameBinding | — | 接入名(CNAME):用户把域名 CNAME 到 fqdn,解析由平台按节点组生成;没有接入名时为 null。 |
| config | object | — | 节点配置字段(schema/site.json 的顶层字段,去掉 id、uid、upid、domains、origins、enabled、stop_code、rulesets)。 |
| domains | string[] | 必填 | 站点绑定的域名。 |
| enabled | boolean | — | 是否启用 |
| group_ids | integer[] | — | 站点所属分组的 id。 |
| name | string | — | 名称 |
| origins | SiteOrigin[] | 必填 | 源站列表。 |
| stop_code | integer | — | 0 = 正常;非 0 = 所有请求回这个状态码(管理员/计费设置)。 |
| upid | integer | — | 用户套餐 id(套餐域上线前可空;快照里空时取 tenant_id)。 |
批量操作站点
POST
/api/v2/sites/batch鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 管理员代建时的属主租户(必填);租户调用时忽略,属主恒为本人。 |
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | 必填 | 批量动作:set_enabled(启停)、delete(删除)、set_groups(设置分组)、update_config(合并配置)、create(批量新建)。 |
| config | object | — | 节点配置字段(schema/site.json 的顶层字段,去掉 id、uid、upid、domains、origins、enabled、stop_code、rulesets)。 |
| enabled | boolean | — | 是否启用 |
| group_ids | integer[] | — | 站点所属分组的 id。 |
| ids | integer[] | — | 要操作的站点 id(最多 100 个;create 以外的动作必填)。 |
| items | SiteWrite[] | — | create 用:要新建的站点(最多 100 个),每条同 POST /sites 的请求体。 |
批量一键修复体检问题
POST
/api/v2/sites/checkup-fix-batch鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| batch | string | — | 只用于 rec_type:分段修复时带上第一段返回的批次号,各段的撤销快照记在同一批里;不带则新开一批。 |
| ids | integer[] | 必填 | 要操作的站点 id(最多 100 个;create 以外的动作必填)。 |
| key | string | 必填 | 要修复的体检项键,含义同单站一键修复。 |
列出最近的体检修复批次
GET
/api/v2/sites/checkup-fix-batches鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
源站内容不一致告警
GET
/api/v2/sites/origin-alerts鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| site_id | integer | — | 只看该站点。 |
批量套用推荐防护配置
POST
/api/v2/sites/protect-recommend/apply鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | integer[] | 必填 | 要操作的站点 id(最多 100 个;create 以外的动作必填)。 |
| observe_days | integer | — | 覆盖推荐表里 waf_mode 的先观察天数(0 = 直接拦截);缺省按推荐表。 |
| skip | string[] | — | 用户取消勾选、本次不套用的推荐项。 |
| type | string | 必填 | 网站类型:企业官网、电商、内容资讯、API 服务、后台管理、下载分发。 |
预览推荐防护配置的影响
POST
/api/v2/sites/protect-recommend/preview鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | integer[] | 必填 | 要操作的站点 id(最多 100 个;create 以外的动作必填)。 |
| observe_days | integer | — | 覆盖推荐表里 waf_mode 的先观察天数(0 = 直接拦截);缺省按推荐表。 |
| skip | string[] | — | 用户取消勾选、本次不套用的推荐项。 |
| type | string | — | 网站类型:企业官网、电商、内容资讯、API 服务、后台管理、下载分发。 |
撤销一批推荐防护配置
POST
/api/v2/sites/protect-recommend/undo鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| batch | string | 必填 | 只用于 rec_type:分段修复时带上第一段返回的批次号,各段的撤销快照记在同一批里;不带则新开一批。 |
| ids | integer[] | 必填 | 要操作的站点 id(最多 100 个;create 以外的动作必填)。 |
地区限制保存前检查
POST
/api/v2/sites/region-check鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| region_limit | object | 必填 | 要检查的地区限制(同 Site.config.region_limit)。 |
取筛选结果的全部站点 id
POST
/api/v2/sites/select-ids鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tenant_id | integer | — | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app | string | — | 按体检识别出的程序精确过滤。 |
| domain | string | — | 按域名子串过滤(不分大小写)。 |
| domains | string[] | — | 站点绑定的域名。 |
| enabled | boolean | — | 是否启用 |
| group_id | integer | — | 只取该分组里的站点。 |
| group_ids | integer[] | — | 站点所属分组的 id。 |
| name | string | — | 名称 |
| origin | string | — | 按源站主机子串过滤。 |
| stop_code | integer | — | 0 = 正常;非 0 = 所有请求回这个状态码(管理员/计费设置)。 |
| upid | integer | — | 用户套餐 id(套餐域上线前可空;快照里空时取 tenant_id)。 |
获取站点
GET
/api/v2/sites/{id}鉴权: 用户(部分参数仅管理员)
修改站点
PUT
/api/v2/sites/{id}鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cname | CnameBinding | — | 接入名(CNAME):用户把域名 CNAME 到 fqdn,解析由平台按节点组生成;没有接入名时为 null。 |
| config | object | — | 节点配置字段(schema/site.json 的顶层字段,去掉 id、uid、upid、domains、origins、enabled、stop_code、rulesets)。 |
| domains | string[] | — | 站点绑定的域名。 |
| enabled | boolean | — | 是否启用 |
| expected_updated_at | string | — | 乐观锁(修改时用):调用方读到的该资源 updated_at。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。 |
| group_ids | integer[] | — | 站点所属分组的 id。 |
| name | string | — | 名称 |
| origins | SiteOrigin[] | — | 源站列表。 |
| stop_code | integer | — | 0 = 正常;非 0 = 所有请求回这个状态码(管理员/计费设置)。 |
| upid | integer | — | 用户套餐 id(套餐域上线前可空;快照里空时取 tenant_id)。 |
删除站点
DELETE
/api/v2/sites/{id}鉴权: 用户(部分参数仅管理员)
一键修复体检问题
POST
/api/v2/sites/{id}/checkup-fix鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 必填 | 要修复的体检项键,含义同单站一键修复。 |
站点回源健康状态
GET
/api/v2/sites/{id}/health鉴权: 用户(部分参数仅管理员)
查看网站分层回源
GET
/api/v2/sites/{id}/l2鉴权: 用户(部分参数仅管理员)
修改网站分层回源
PATCH
/api/v2/sites/{id}/l2鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | — | 是否启用 |
| l2_group_id | integer | — | 使用的 L2 组;null = 区域默认。 |
| l2_pick | string | — | 本站选 L2 的方式;null = 跟默认设置。 |
| origin_l2_only | boolean | — | 源站只允许 L2 访问:动态请求也经 L2,本区域没 L2 时借用其他区域。 |
| origin_max_conns | integer | — | 源站最大并发(每节点在途);0 = 不限,超了排队不报 503。 |
源站放行清单
GET
/api/v2/sites/{id}/l2-egress-ips鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fmt | string | — | text 的格式:ip 每行一个、nginx allow 行、iptables 规则;缺省 ip。 |
网站的分层回源统计
GET
/api/v2/sites/{id}/l2-stats鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| start | string | 必填 | 起始时间(含),RFC 3339。 |
| end | string | 必填 | 结束时间(不含),RFC 3339。 |
设置网站类型
PUT
/api/v2/sites/{id}/site-type鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 必填 | 网站类型:企业官网、电商、内容资讯、API 服务、后台管理、下载分发。 |
站点加速效果
GET
/api/v2/sites/{id}/speed鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| range | string | — | 统计窗口,缺省 24h。 |
列出站点的上传扫描例外
GET
/api/v2/sites/{id}/upload-scan/exceptions鉴权: 用户(部分参数仅管理员)
标记站点的上传扫描误报
POST
/api/v2/sites/{id}/upload-scan/false-positive鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | — | 路径前缀(以 / 开头);不给取 /。 |
| sha256 | string | — | 命中文件的 sha256(小写十六进制);租户提交时须是本站上传命中事件里出现过的指纹;给了且情报共享开着、sig 非空时同事务内记一条误报情报待上报。 |
| sig | string | — | 误报的特征名(事件规则名,如 webshell.php.eval);空 = 该路径整段不扫描(此时必须给 path)。 |
撤销站点标记的上传扫描误报
DELETE
/api/v2/sites/{id}/upload-scan/false-positive鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 必填 | 例外的路径前缀。 |
| sig | string | — | 例外的特征名;不给或空 = 路径整段例外。 |
列出站点在途的全网 URL 防护
GET
/api/v2/sites/{id}/url-guard/active鉴权: 用户(部分参数仅管理员)
手动撤销站点在途的全网 URL 防护
POST
/api/v2/sites/{id}/url-guard/revoke鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | — | 路径前缀(以 / 开头);不给取 /。 |
网站对象
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | 必填 | 批量动作:set_enabled(启停)、delete(删除)、set_groups(设置分组)、update_config(合并配置)、create(批量新建)。 |
| added_at | string | — | 加入时间;早期手工条目没有。 |
| affected | integer | — | 受影响的条数 |
| app | string | — | 按体检识别出的程序精确过滤。 |
| batch | string | — | 只用于 rec_type:分段修复时带上第一段返回的批次号,各段的撤销快照记在同一批里;不带则新开一批。 |
| capacity_warnings | SiteCapacityWarning[] | — | 只在建站(POST /sites)与改到别的线路分组(PUT /sites/{id})的响应里、目标线路分组有节点站数已达内存容量上限时给出;只提示不拦截,没有超限节点时不给这个字段。 |
| checked_at | string | — | 本次向节点要明细的时间。 |
| cname | CnameBinding | — | 接入名(CNAME):用户把域名 CNAME 到 fqdn,解析由平台按节点组生成;没有接入名时为 null。 |
| config | object | — | 节点配置字段(schema/site.json 的顶层字段,去掉 id、uid、upid、domains、origins、enabled、stop_code、rulesets)。 |
| country | string | — | 国家/地区编号,没有不给。 |
| created_at | string | — | 创建时间 |
| default_pick | string | — | 默认设置当前的方式(l2_pick 为 null 时生效)。 |
| domain | string | — | 按域名子串过滤(不分大小写)。 |
| domains | string[] | — | 站点绑定的域名。 |
| edge_origin_requests | integer | — | 边缘回源请求数(命中率分母)。 |
| enabled | boolean | — | 是否启用 |
| end | string | — | 窗口右端(不含,取整到 5 分钟)。 |
| expected_updated_at | string | — | 乐观锁(修改时用):调用方读到的该资源 updated_at。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。 |
| found | boolean | — | 库里查到了这个 IP(否则按未识别的访客判)。 |
| gate_reasons | SiteGateReasonIds | — | ids 里 WAF 增强没生效的站点按原因分组(只列有原因的;全都生效时整个字段不给)。选择器据此给 package 的站点标「套餐不含」并禁勾。 |
| group_id | integer | — | 只取该分组里的站点。 |
| group_ids | integer[] | — | 站点所属分组的 id。 |
| group_options | L2SiteRefGroup[] | — | 可选的自建 L2 组。 |
| hit_rate | number | — | 命中率 0–1;没有回源为 0。 |
| id | integer | — | 记录 ID |
| ids | integer[] | — | 要操作的站点 id(最多 100 个;create 以外的动作必填)。 |
| ip | string | — | 调用者的 IP。 |
| isp | string | — | 运营商编号,没有不给。 |
| items | SiteWrite[] | — | create 用:要新建的站点(最多 100 个),每条同 POST /sites 的请求体。 |
| key | string | 必填 | 要修复的体检项键,含义同单站一键修复。 |
| l2_group_id | integer | — | 使用的 L2 组;null = 区域默认。 |
| l2_hit_requests | integer | — | L2 接住的回源请求数(命中率分子)。 |
| l2_pick | string | — | 本站选 L2 的方式;null = 跟默认设置。 |
| log | SiteSpeedLog | — | 按原始访问日志(按采样权重折算)统计的协议分布、回源耗时分位、未命中地址抽样与边缘响应耗时,窗口同 totals。 |
| log_keep_days | integer | — | 原始访问日志保留天数(reports.access_log_days);窗口超出它时 log 只统计还留着的部分。 |
| missing | string[] | — | 选了但当前库不含数据的字段(这些选择不会命中)。 |
| name | string | — | 名称 |
| node_issues | NodeIssue[] | — | 在线节点上站点没完全生效的口或原因(列表与详情里给);都正常时不给这个字段。 |
| nodes | SiteHealthNode[] | — | 各在用节点的明细(按节点 id 升序)。 |
| observe_days | integer | — | 覆盖推荐表里 waf_mode 的先观察天数(0 = 直接拦截);缺省按推荐表。 |
| origin | string | — | 按源站主机子串过滤。 |
| origin_l2_only | boolean | — | 源站只允许 L2 访问:动态请求也经 L2,本区域没 L2 时借用其他区域。 |
| origin_max_conns | integer | — | 源站最大并发(每节点在途);0 = 不限,超了排队不报 503。 |
| origin_requests | integer | — | 实际到源站的请求数。 |
| origin_requests_est | integer | — | 未开分层时的估算(= 边缘回源请求数)。 |
| origins | SiteOrigin[] | — | 源站列表。 |
| path | string | — | 路径前缀(以 / 开头);不给取 /。 |
| points | SiteSpeedPoint[] | — | 按桶的明细(只列有流量的桶)。 |
| prov | string | — | 省份编号,没有不给。 |
| publish_seq | integer | — | 只在建站、改站的响应里给:这次写操作的序号(同响应头 Publish-Seq),拿它调 GET /config-publish/applied?seq= 查是否已推到节点。 |
| range | string | — | 统计窗口(1h、24h 或 7d)。 |
| rec_ver | integer | — | 本次用的推荐表版本。 |
| region_limit | object | 必填 | 要检查的地区限制(同 Site.config.region_limit)。 |
| region_names | string[] | — | 有可用 L2 的区域名,按区域 id 排;个数等于 regions。 |
| regions | integer | — | 有可用 L2 的区域数。 |
| revoked | string[] | — | 已撤销的路径。 |
| saved_bytes | integer | — | 省的回源流量(L2 命中字节)。 |
| sha256 | string | — | 命中文件的 sha256(小写十六进制);租户提交时须是本站上传命中事件里出现过的指纹;给了且情报共享开着、sig 非空时同事务内记一条误报情报待上报。 |
| sig | string | — | 误报的特征名(事件规则名,如 webshell.php.eval);空 = 该路径整段不扫描(此时必须给 path)。 |
| site_id | integer | — | 网站 id;0 = 所有网站。 |
| skip | string[] | — | 用户取消勾选、本次不套用的推荐项。 |
| source | string | — | user 手选;auto 按流量自动判定。 |
| start | string | — | 窗口起点。 |
| state | string | — | 生效状态:on 生效;off 网站没开;not_open 没开通(含网站所属租户的套餐不含分层回源);paused 全网暂停;no_l2 没有可用的 L2;revoking 生效中但即将停用。 |
| status | string | — | disabled 没开主动健康检查;unknown 没有节点回明细;healthy 回了明细的节点上源站全部在线;unhealthy 有源站被摘除。 |
| stop_code | integer | — | 0 = 正常;非 0 = 所有请求回这个状态码(管理员/计费设置)。 |
| tenant_id | integer | — | 所属租户(用户)ID |
| text | string | — | 按 fmt 排好的文本,可直接粘贴到源站。 |
| total | integer | — | 真实命中数(可能大于 ids 的长度)。 |
| totals | SiteSpeedTotals | — | 整个窗口的合计。 |
| truncated | boolean | — | 命中数超过 100000,ids 只含前 100000 个。 |
| type | string | 必填 | 网站类型:企业官网、电商、内容资讯、API 服务、后台管理、下载分发。 |
| updated_at | string | — | 更新时间 |
| upid | integer | — | 用户套餐 id(套餐域上线前可空;快照里空时取 tenant_id)。 |
| verdict | string | — | 调用者访问首页的结果:pass 放行、block 被拦、log 只记录。 |
| waf_gate | SiteWafGate | — | 只在站点详情(GET /sites/{id})里给:站点属主的 WAF 增强状态与没生效的原因。owner、packages、expired_at 仅管理员响应带,租户响应只有 gate 与 reason。列表行只有 waf_gate_reason。 |
| waf_gate_reason | WafGateReason | — | WAF 增强(waf_enhanced)没生效的原因,gate 为 full 或 readonly 时不带。package = 平台已授权但属主没有未到期且含 WAF 增强的套餐;license = 平台没开通(从未授权、服务商撤销、授权被停用);expired = 平台授权已到期且只读缓冲期(License.readonly_days,缺省 7 天)已过,已回落基础。 |