网站列表
GET
/v1/sites
当前页码
单页显示数量
域名,模糊搜索
源IP,模糊搜索
指定所属网站组ID
搜索指定网站ID
搜索所属已购套餐ID的网站
监听指定HTTP端口的网站
监听指定HTTPS端口的网站
HTTPS是否开启
网站是否启用
网站状态,可选为200、512、513、514。200是正常,512是套餐过期,513是流量超限,514是被锁定
{
"code": 0,
"count": 1,
"data": [
{
"acl": null,
"acme_proxy_to_orgin": 0,
"backend": "[{\"index\": 0, \"state\": \"up\", \"addr\": \"192.168.0.31\", \"weight\": \"1\"}]",
"backend_host": "$host",
"backend_http_port": "80",
"backend_https_port": "443",
"backend_port_mapping": 1,
"backend_protocol": "http",
"backup_node_group": null,
"backup_node_group_name": null,
"balance_way": "rr",
"black_ip": "",
"block_proxy": 0,
"block_region": "",
"cc_default_rule": 10002,
"cc_switch": "{}",
"cname_domain": "cdnhao.com",
"cname_hostname": "3gjpzxmn",
"cname_mode": "site",
"cname_state": "done",
"cname_task_id": 94737,
"cors": "{\"allow_origin\": \"*\", \"allow_methods\": \"GET POST OPTIONS\", \"enable\": 0, \"allow_headers\": \"DNT Keep-Alive User-Agent X-Requested-With If-Modified-Since Cache-Control Content-Type\", \"max_age\": \"1728000\", \"expose_headers\": \"Content-Length Content-Range\", \"allow_credentials\": 1}",
"create_at": null,
"create_at2": "2021-11-16 14:48:22",
"domain": "for-test.cdnhao.com",
"enable": 1,
"enable_backup_group": 0,
"extra_cc_rule": "[]",
"gzip_enable": 1,
"gzip_types": "text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/json",
"health_check": "{\"enable\": false, \"protocol\": \"http\", \"status_code\": \"200 301 302\", \"interval\": 10, \"host\": \"for-test.cdnhao.com\", \"path\": \"/\"}",
"hotlink": "{\"domain\": \"\", \"enable\": 0, \"allow_empty\": true}",
"http_listen": "{\"port\": \"80 82 83\"}",
"https_listen": "{}",
"id": 334,
"name": "jason",
"node_group_id": 490,
"node_group_name": null,
"package_id": 384,
"package_name": "ff",
"page_404": "",
"page_50x": "",
"proxy_cache": "[]",
"proxy_http_version": "1.1",
"proxy_timeout": "60",
"range": 0,
"record_id": "730250033283995648",
"region_id": 646,
"region_name": "test",
"req_header": "[]",
"resp_header": "[]",
"s.cname_domain": "cdnhao.com",
"s.cname_hostname": "3gjpzxmn",
"s.cname_mode": "site",
"site_state": "200",
"spider_allow": "baidu|sogou|sm|bing|google|toutiao|360spider",
"state": "200",
"sync_state": "done",
"task_id": 117870,
"uid": 2,
"up_cname_domain": "cdnhao.com",
"up_cname_hostname": "v325sf8j-u",
"update_at": null,
"update_at2": "2021-11-25 08:34:59",
"ups_keepalive": 0,
"ups_keepalive_conn": 5,
"ups_keepalive_timeout": 60,
"url_rewrite": "[]",
"user_package": 425,
"version": 15,
"websocket_enable": 0,
"white_ip": ""
}
]
}添加一个或多个网站 (多个网站时,数据格式为数组)
POST
/v1/sites
required绑定一个已购买的套餐
required绑定的域名,支持通配符域名,多个域名空格分隔
http监听端口,格式为json,如{"port":"80 88"},表示监听http的80和88端口
HTTPS设置,格式为json,如{"port":"443 8443","cert":"1","hsts":0,"ocsp_stapling":0,"ssl_protocols":"TLSv1 TLSv1.1 TLSv1.2","ssl_ciphers":"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256","ssl_prefer_server_ciphers":"on", "force_ssl_enable":1,"force_ssl_port":"443"},其中只有cert必选,其它都有默认值,默认值在全局-》默认设置里设置
源服务器负载均衡方式,可选值为ip_hash、rr、url_hash、least_conn、random。ip_hash为根据客户端IP定源,rr是轮循,url_hash是根据url定源,least_conn是取最少连接的源,random是随机分配。
required指定源IP,格式为数组,如[{"addr":"1.1.1.1","weight":1,"state":"up",""}]。addr为源IP,必填,weight为权重,选填,state为状态,默认为up,可选值为down,up,backup。
回源协议,可选值为follow、http、https。
当回源协议为http时,回源使用的端口
当回源协议为https时,回源使用的端口
回源超时时间
回源端口映射,表示回源的协议和端口与访问的协议的端口一致。
源站健康检查,格式为{"enable":1,"protocol":"http","host":"www.qq.com","path":"/","status_code":"200 301 302","interval":5}
回源keepalive
keepalive的连接数
keepalive超时时间
回源的http协议版本,可选1.1,1.0
回源SSL协议,可选TLSv1 TLSv1.1 TLSv1.2
回源的Host值,可选$host、$host:$server_port和自定义,如www.qq.com或者www.qq.com:8080
分断取源,一次取1MB
缓存设置,数据格式为数组。格式为[{"type":"dir","content":"/static/","expire":"1","unit":"d","ignore_arg":false,"proxy_ignore_headers":"","no_cache":[]}]。type、content、expire、unit必选。type可选为suffix、dir、full_path,分别是后缀,目录,全路径。unit可选为d、h、m、s,分别为天,小时,分钟,秒。ignore_arg表示忽略参数。当proxy_ignore_headers值为X-Accel-Expires Expires Cache-Control Set-Cookie时,表示强制缓存。no_cache表示排除符合条件的缓存,格式为数组,如[{"variable":"$uri","string":"/api/"}],表示uri匹配/api/的url不缓存。variable为变量,可选为$args、$content_type、$content_length、$host、$https、$is_args、$query_string、$remote_addr、$request_method、$request_uri、$scheme、$status、$uri,以及$arg_x,$cookie_x,$http_x,其中$arg_x为获取参数值,x为参数名;$cookie_x为cookie值,x为cookie名称;$http_x为请求头值,x为请求头名称。
默认的防御规则组
设置满足条件后自动切换成其它防御规则组,格式为json,如{"rule":"1","switch":"10","enable":1},其中rule为切换到的规则组ID,switch为网站QPS超过时切换。
自定义规则,格式为[{"filter": {"within_second": 10, "extra": {}, "type": "req_rate", "max_per_uri": 1, "max_challenge": 1}, "matcher": {"ip": {"operator": "=", "value": "111"}}}],具体的定义参考CC规则匹配器和CC规则过滤器
屏蔽区域,可选值两字母的国家代码
黑名单IP,一行一个,支持子掩码/8 /16 /24,如192.168.0.0/8、192.168.0.0/16、192.168.0.0/24.
白名单IP,一行一个,支持子掩码/8 /16 /24,如192.168.0.0/8、192.168.0.0/16、192.168.0.0/24.
指定ACL ID
设置防盗链,格式为json,如{"enable":1,"domain":"","allow_empty":1},enable可选值为0或1,domain为空时,只允许当前添加的域名,可填写额外的域名。allow_empty可选值为0或1,表示是否允许空来源访问。
设置跨站支持,格式为json,如{"enable":1,"allow_origin":"*","allow_methods":"GET POST","allow_headers":"DNT Keep-Alive User-Agent X-Requested-With If-Modified-Since Cache-Control Content-Type","expose_headers":"Content-Length Content-Range","allow_credentials":1,"max_age":1728000}。
设置响应头,格式为数组,如[{"name":"aaa","value":"bbb"}],其中name是响应头名称,value是值。
设置请求头,格式为数组,如[{"name":"aaa","value":"bbb"}],其中name是请求头名称,value是值。
自定义404错误页面
自定义50x错误页面,包括500 502 503 504。
url重定向,格式为json数组,如[{"host":"qq.com","match":"(.*)","redirect":"http://baidu.com$1","code":"301"}],表示qq.com重定向到baidu.com。host用于匹配$host:$server_port,match匹配uri。另外还支持user_agent、referer、country_code、accept_language、province、city、asnumber、isp的匹配。
gzip开启
gzip的content type,如text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/json
websocket开启
当为1时,/.well-known/acme-challenge/的请求回源。
上传文件最大大小,单位为MB
数据实时返回,0为关闭,1为开启
数据实时发送,0为关闭,1为开启
指定搜索引擎回源的IP地址,当需要关闭此功能时,可设置此值为空
指定所属的网站组,多个以逗号分隔
启用或禁用
{
"code":0,
"data": "1",
"msg": "网站添加成功"
}{
"user_package": 1,
"domain": "www.qq.com",
"backend": [{
"addr": "1.1.1.1"
}]
}批量修改网站 (数据格式为数组)
PUT
/v1/sites
required网站ID
绑定一个已购买的套餐
绑定的域名,支持通配符域名,多个域名空格分隔
http监听端口,格式为json,如{"port":"80 88"},表示监听http的80和88端口
HTTPS设置,格式为json,如{"port":"443 8443","cert":"1","hsts":0,"ocsp_stapling":0,"ssl_protocols":"TLSv1 TLSv1.1 TLSv1.2","ssl_ciphers":"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256","ssl_prefer_server_ciphers":"on", "force_ssl_enable":1,"force_ssl_port":"443"},其中只有cert必选,其它都有默认值,默认值在全局-》默认设置里设置
源服务器负载均衡方式,可选值为ip_hash、rr、url_hash、least_conn、random。ip_hash为根据客户端IP定源,rr是轮循,url_hash是根据url定源,least_conn是取最少连接的源,random是随机分配。
指定源IP,格式为数组,如[{"addr":"1.1.1.1","weight":1,"state":"up",""}]。addr为源IP,必填,weight为权重,选填,state为状态,默认为up,可选值为down,up,backup。
回源协议,可选值为follow、http、https。
当回源协议为http时,回源使用的端口
当回源协议为https时,回源使用的端口
回源超时时间
回源端口映射,表示回源的协议和端口与访问的协议的端口一致。
源站健康检查,格式为{"enable":1,"protocol":"http","host":"www.qq.com","path":"/","status_code":"200 301 302","interval":5}
回源keepalive
keepalive的连接数
keepalive超时时间
回源的http协议版本,可选1.1,1.0
回源SSL协议,可选TLSv1 TLSv1.1 TLSv1.2
回源的Host值,可选$host、$host:$server_port和自定义,如www.qq.com或者www.qq.com:8080
分断取源,一次取1MB
缓存设置,数据格式为数组。格式为[{"type":"dir","content":"/static/","expire":"1","unit":"d","ignore_arg":false,"proxy_ignore_headers":"","no_cache":[]}]。type、content、expire、unit必选。type可选为suffix、dir、full_path,分别是后缀,目录,全路径。unit可选为d、h、m、s,分别为天,小时,分钟,秒。ignore_arg表示忽略参数。当proxy_ignore_headers值为X-Accel-Expires Expires Cache-Control Set-Cookie时,表示强制缓存。no_cache表示排除符合条件的缓存,格式为数组,如[{"variable":"$uri","string":"/api/"}],表示uri匹配/api/的url不缓存。variable为变量,可选为$args、$content_type、$content_length、$host、$https、$is_args、$query_string、$remote_addr、$request_method、$request_uri、$scheme、$status、$uri,以及$arg_x,$cookie_x,$http_x,其中$arg_x为获取参数值,x为参数名;$cookie_x为cookie值,x为cookie名称;$http_x为请求头值,x为请求头名称。
默认的防御规则组
设置满足条件后自动切换成其它防御规则组,格式为json,如{"rule":"1","switch":"10","enable":1},其中rule为切换到的规则组ID,switch为网站QPS超过时切换。
API防御设置,此设置用来匹配uri的请求使用请求频率,而不用默认的规则来防御,以免影响API类的使用。格式为json数组,如[{"uri":"/api/,/api2/","within":10,"max_req":60}],uri为匹配请求uri的部分uri,多个uri以逗号分隔,within为在这个时间内统计,max_req为在统计周期内超过此值时拉黑。
屏蔽区域,可选值为abrord_inc、abrord_no_inc、china_inc、china_not_inc,分别为境外(包括港澳台),境外(不包括港澳台),境内(包括港澳台)、境内(不包括港澳台)
黑名单IP,一行一个,支持子掩码/8 /16 /24,如192.168.0.0/8、192.168.0.0/16、192.168.0.0/24.
白名单IP,一行一个,支持子掩码/8 /16 /24,如192.168.0.0/8、192.168.0.0/16、192.168.0.0/24.
指定ACL ID
设置防盗链,格式为json,如{"enable":1,"domain":"","allow_empty":1},enable可选值为0或1,domain为空时,只允许当前添加的域名,可填写额外的域名。allow_empty可选值为0或1,表示是否允许空来源访问。
设置跨站支持,格式为json,如{"enable":1,"allow_origin":"*","allow_methods":"GET POST","allow_headers":"DNT Keep-Alive User-Agent X-Requested-With If-Modified-Since Cache-Control Content-Type","expose_headers":"Content-Length Content-Range","allow_credentials":1,"max_age":1728000}。
设置响应头,格式为数组,如[{"name":"aaa","value":"bbb"}],其中name是响应头名称,value是值。
设置请求头,格式为数组,如[{"name":"aaa","value":"bbb"}],其中name是请求头名称,value是值。
自定义404错误页面
自定义50x错误页面,包括500 502 503 504。
url重定向,格式为json数组,如[{"host":"qq.com","match":"(.*)","redirect":"http://baidu.com$1","code":"301"}],表示qq.com重定向到baidu.com。host用于匹配$host:$server_port,match匹配uri。
gzip开启
gzip的content type,如text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/json
websocket开启
当为1时,/.well-known/acme-challenge/的请求回源。
上传文件最大大小,单位为MB
数据实时返回,0为关闭,1为开启
数据实时发送,0为关闭,1为开启
指定搜索引擎回源的IP地址,当需要关闭此功能时,可设置此值为空
指定所属的网站组,多个以逗号分隔
启用或禁用
{
"code":0,
"data": "",
"msg": "更新网站成功"
}[{
"id": 1,
"enable": 0
}, {
"id": 2,
"enable": 0
}]<?php
$url = 'http://www.api.com/v1/sites/2';
$data = array("enable" => "0");
$jsonData = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($ch);
if (!$response) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
curl_close($ch);
echo $response;
?>获取单个网站详情
GET
/v1/sites/<网站ID>
{
"code": 0,
"data": {
"acl": null,
"acme_proxy_to_orgin": 0,
"backend": "[{\"state\": \"up\", \"addr\": \"www.cdnhao.com\", \"weight\": 1}]",
"backend_host": "www.cdnhao.com",
"backend_http_port": "80",
"backend_https_port": "443",
"backend_port_mapping": 0,
"backend_protocol": "http",
"backup_node_group": null,
"backup_node_group_name": null,
"balance_way": "rr",
"black_ip": "1.1.1.1\n2.2.2.2",
"block_proxy": 0,
"block_region": "hk,mo,tw",
"cc_default_rule": 10002,
"cc_switch": "{\"switch\": \"20\", \"enable\": 1, \"rule\": \"1\"}",
"cname_domain": "cdnhao.com",
"cname_hostname": "hxu8bjky",
"cname_mode": "site",
"cname_state": null,
"cname_task_id": null,
"cors": "{\"allow_origin\": \"*\", \"allow_methods\": \"*\", \"enable\": true, \"allow_headers\": \"*\", \"max_age\": \"1728000\", \"expose_headers\": \"*\", \"allow_credentials\": true}",
"create_at": null,
"create_at2": "2023-11-23 08:19:12",
"domain": "for-test.cdnhao.com",
"enable": 1,
"enable_backup_group": 0,
"end_at": "3000-01-01 12:00:00",
"extra_cc_rule": "[{\"filter\": {\"within_second\": 60, \"extra\": {}, \"type\": \"delay_jump_filter\", \"max_per_uri\": \"\", \"max_challenge\": 5}, \"matcher\": {\"ip\": {\"operator\": \"=\", \"value\": \"1.1.1.1\"}}}]",
"group_name": null,
"groups": null,
"gzip_enable": 1,
"gzip_types": "text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/json",
"health_check": "{\"path\": \"/\", \"host\": \"for-test.cdnhao.com\", \"enable\": true, \"interval\": 10, \"status_code\": \"200 301 302\"}",
"hotlink": "{\"scope_type\": \"all\", \"domain\": \"\", \"enable\": 0, \"allow_empty\": 1, \"scope_content\": \"\"}",
"http_listen": "{\"port\": \"80\"}",
"https_listen": "{\"ssl_protocols\": \"TLSv1 TLSv1.1 TLSv1.2 TLSv1.3\", \"hsts\": 0, \"ssl_ciphers\": \"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA\", \"ssl_prefer_server_ciphers\": \"on\", \"force_ssl_enable\": 0, \"cert\": \"1\", \"ocsp_stapling\": 1, \"force_ssl_port\": \"443\", \"http2\": 0, \"port\": \"443\"}",
"id": 1,
"is_default_server": 0,
"name": "jason",
"node_group_id": 1,
"node_group_name": "vip",
"package_id": 1,
"package_name": "vip1",
"page_404": "",
"page_50x": "",
"post_size_limit": 32,
"proxy_cache": "[{\"content\": \"css|js\", \"range\": false, \"expire\": \"1\", \"proxy_ignore_headers\": \"X-Accel-Expires Expires Cache-Control Set-Cookie\", \"no_cache\": [{\"variable\": \"$request_uri\", \"string\": \"/api/\"}], \"type\": \"suffix\", \"ignore_arg\": false, \"unit\": \"d\"}]",
"proxy_http_version": "1.0",
"proxy_ssl_protocols": "TLSv1 TLSv1.1 TLSv1.2",
"proxy_timeout": "60",
"range": 0,
"record_id": "1690975704",
"recv_real_time": 0,
"region_id": 1,
"region_name": "\u9ed8\u8ba4",
"req_header": "[{\"name\": \"client-ip\", \"value\": \"$remote_addr\"}]",
"resp_header": "[]",
"send_real_time": 0,
"site_state": "200",
"spider_allow": "allow",
"spider_to_sip": "",
"state": "200",
"sync_state": "done",
"task_id": 957,
"uid": 2,
"up_cname_domain": "cdnhao.com",
"up_cname_hostname": "u8qyhp6d",
"update_at": null,
"update_at2": "2023-12-26 13:58:36",
"ups_keepalive": 1,
"ups_keepalive_conn": 32,
"ups_keepalive_timeout": 50,
"url_rewrite": "[{\"province\": \".*\", \"city\": \".*\", \"code\": \"301\", \"accept_language\": \".*\", \"redirect\": \"http://www.baidu.com/\", \"isp\": \".*\", \"host\": \".*\", \"asnumber\": \".*\", \"referer\": \".*\", \"user_agent\": \".*\", \"country_code\": \".*\", \"match\": \".*\"}]",
"user_package": 1,
"version": 13,
"websocket_enable": 0,
"white_ip": "3.3.3.3\n4.4.4.4"
},
"msg": ""
}字段解释:
| 字段名称 | 说明 |
|---|---|
| acl | ACL规则的ID |
| acme_proxy_to_orgin | /.well-known/acme-challenge/请求是否回源,1回源,0不回源 |
| backend | 源站列表 |
| backend_host | 回源Host请求头 |
| backend_http_port | http回源的端口 |
| backend_https_port | https回源端口 |
| backend_port_mapping | 回源端口映射 |
| backend_protocol | 回源协议 |
| backup_node_group | 备用线路组ID |
| backup_node_group_name | 备用线路组名称 |
| balance_way | 负载均衡方式 |
| black_ip | 黑名单IP |
| block_proxy | 透明代理屏蔽 |
| block_region | 区域屏蔽 |
| cc_default_rule | 默认启用的CC规则组ID |
| cc_switch | CC规则自动切换 |
| cname_domain | cname域名 |
| cname_hostname | cname主机名,与cname_domain组成完整的cname地址 |
| cname_mode | cname模式,值为site时,cname地址是cname_hostname + cname_domain, 值为package时,cname地址为 up_cname_hostname + up_cname_domain |
| cname_state | cname地址生成状态,pending正在生成,failed生成失败, done生成成功 |
| cname_task_id | 生成cname地址关联的任务id |
| cors | 跨站设置 |
| create_at2 | 网站创建时间 |
| domain | 绑定的域名 |
| enable | 网站是否启用 |
| enable_backup_group | 是否使用备用线路组,1为使用备用线路组,0为使用主线路组 |
| end_at | 该网站使用的套餐到期时间 |
| extra_cc_rule | 自定义规则 |
| group_name | 网站分组名称 |
| groups | 网站分组ID |
| gzip_enable | 是否启用gzip |
| gzip_types | gzip类型 |
| health_check | 健康检查配置 |
| hotlink | 防盗链设置 |
| http_listen | 监听的http端口 |
| https_listen | 监听的https端口 |
| id | 网站ID |
| is_default_server | 是否设置为默认站点 |
| name | 用户名称 |
| node_group_id | 主线路组ID |
| node_group_name | 主线路组名称 |
| package_id | 基础套餐ID |
| package_name | 用户套餐名称 |
| page_404 | 自定义404页面 |
| page_50x | 自定义50x页面 |
| post_size_limit | 上传允许的最大大小,单位MB |
| proxy_cache | 缓存配置 |
| proxy_http_version | http回源版本 |
| proxy_ssl_protocols | https回源tls版本 |
| proxy_timeout | 回源超时 |
| range | 是否启用分片回源 |
| record_id | cname地址对应的dns记录ID |
| recv_real_time | 是否启用实时返回 |
| region_id | 分区ID |
| region_name | 分区名称 |
| req_header | 源站请求头 |
| resp_header | CDN响应头 |
| send_real_time | 是否启用数据实时向源发送 |
| site_state | 网站状态,200为正常,512为套餐到期,513为流量超限,514为网站被锁定 |
| sync_state | 网站同步状态 |
| task_id | 网站同步关联的任务id |
| uid | 用户ID |
| up_cname_domain | 当cname_mode为package时使用 |
| up_cname_hostname | 当cname_mode为package时使用 |
| update_at2 | 最近更新时间 |
| ups_keepalive | 回源连接池开启 |
| ups_keepalive_conn | 回源连接池最大空闲连接数 |
| ups_keepalive_timeout | 回源连接池超时时间 |
| url_rewrite | url转向 |
| user_package | 用户套餐ID |
| version | 网站配置版本号 |
| websocket_enable | 是否开启websocket |
| white_ip | 白名单IP |
修改单个网站
PUT
/v1/sites/<网站ID>
绑定一个已购买的套餐
绑定的域名,支持通配符域名,多个域名空格分隔
http监听端口,格式为json,如{"port":"80 88"},表示监听http的80和88端口
HTTPS设置,格式为json,如{"port":"443 8443","cert":"1","hsts":0,"ocsp_stapling":0,"proxy ssl protocols":"TLSv1 TLSv1.1 TLSv1.2","force_ssl_enable":1,"force_ssl_port":"443"},其中只有cert必选,其它都有默认值,默认值在全局-》默认设置里设置
源服务器负载均衡方式,可选值为ip_hash、rr、url_hash、least_conn、random。ip_hash为根据客户端IP定源,rr是轮循,url_hash是根据url定源,least_conn是取最少连接的源,random是随机分配。
指定源IP,格式为数组,如[{"addr":"1.1.1.1","weight":1,"state":"up"}]。addr为源IP,必填,weight为权重,选填,state为状态,默认为up,可选值为down,up,backup。
回源协议,可选值为follow、http、https。
当回源协议为http时,回源使用的端口
当回源协议为https时,回源使用的端口
回源超时时间
回源端口映射,表示回源的协议和端口与访问的协议的端口一致。
源站健康检查,格式为{"enable":1,"protocol":"http","host":"www.qq.com","path":"/","status_code":"200 301 302","interval":5}
回源keepalive
keepalive的连接数
keepalive超时时间
回源的http协议版本,可选1.1,1.0
回源的Host值,可选$host、$host:$server_port和自定义,如www.qq.com或者www.qq.com:8080
分断取源,一次取1MB
缓存设置,数据格式为数组。格式为[{"type":"dir","content":"/static/","expire":"1","unit":"d","ignore_arg":false,"proxy_ignore_headers":"","no_cache":[]}]。type、content、expire、unit必选。type可选为suffix、dir、full_path,分别是后缀,目录,全路径。unit可选为d、h、m、s,分别为天,小时,分钟,秒。ignore_arg表示忽略参数。当proxy_ignore_headers值为X-Accel-Expires Expires Cache-Control Set-Cookie时,表示强制缓存。no_cache表示排除符合条件的缓存,格式为数组,如[{"variable":"$uri","string":"/api/"}],表示uri匹配/api/的url不缓存。variable为变量,可选为$args、$content_type、$content_length、$host、$https、$is_args、$query_string、$remote_addr、$request_method、$request_uri、$scheme、$status、$uri,以及$arg_x,$cookie_x,$http_x,其中$arg_x为获取参数值,x为参数名;$cookie_x为cookie值,x为cookie名称;$http_x为请求头值,x为请求头名称。
默认的防御规则组
设置满足条件后自动切换成其它防御规则组,格式为json,如{"rule":"1","switch":"10","enable":1},其中rule为切换到的规则组ID,switch为网站QPS超过时切换。
API防御设置,此设置用来匹配uri的请求使用请求频率,而不用默认的规则来防御,以免影响API类的使用。格式为json数组,如[{"uri":"/api/,/api2/","within":10,"max_req":60}],uri为匹配请求uri的部分uri,多个uri以逗号分隔,within为在这个时间内统计,max_req为在统计周期内超过此值时拉黑。
屏蔽区域,可选值为abrord_inc、abrord_no_inc、china_inc、china_not_inc,分别为境外(包括港澳台),境外(不包括港澳台),境内(包括港澳台)、境内(不包括港澳台)
黑名单IP,一行一个,支持子掩码/8 /16 /24,如192.168.0.0/8、192.168.0.0/16、192.168.0.0/24.
白名单IP,一行一个,支持子掩码/8 /16 /24,如192.168.0.0/8、192.168.0.0/16、192.168.0.0/24.
指定ACL ID
设置防盗链,格式为json,如{"enable":1,"domain":"","allow_empty":1},enable可选值为0或1,domain为空时,只允许当前添加的域名,可填写额外的域名。allow_empty可选值为0或1,表示是否允许空来源访问。
设置跨站支持,格式为json,如{"enable":1,"allow_origin":"*","allow_methods":"GET POST","allow_headers":"DNT Keep-Alive User-Agent X-Requested-With If-Modified-Since Cache-Control Content-Type","expose_headers":"Content-Length Content-Range","allow_credentials":1,"max_age":1728000}。
设置响应头,格式为数组,如[{"name":"aaa","value":"bbb"}],其中name是响应头名称,value是值。
设置请求头,格式为数组,如[{"name":"aaa","value":"bbb"}],其中name是请求头名称,value是值。
自定义404错误页面
自定义50x错误页面,包括500 502 503 504。
url重定向,格式为json数组,如[{"host":"qq.com","match":"(.*)","redirect":"http://baidu.com$1","code":"301"}],表示qq.com重定向到baidu.com。host用于匹配$host:$server_port,match匹配uri。
gzip开启
gzip的content type,如text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/json
websocket开启
当为1时,/.well-known/acme-challenge/的请求回源。
上传文件最大大小,单位为MB
数据实时返回,0为关闭,1为开启
数据实时发送,0为关闭,1为开启
指定所属的网站组,多个以逗号分隔
启用或禁用
{
"code": 0,
"data": "",
"msg": "更新网站成功"
}{
"enable": 1
}删除网站
DELETE
/v1/sites/<网站ID,多个以逗号分隔>
{
"code": 0,
"data": "",
"msg": "网站删除成功"
}