|
|
|
|
|
|
功能说明:此功能为试验性质,目前仅能防御简单的DDoS攻击,试验期间建议仅在被攻击时启用,仅支持已安装
| 启用 |
|
| 单节点TCP最大连接数 |
单个节点可以接受的TCP最大连接数。如果为0,则默认为{{defaultConfigs.tcpMaxConnections}}。 |
| 单IP TCP最大连接数 |
单个IP可以连接到节点的TCP最大连接数。如果为0,则默认为{{defaultConfigs.tcpMaxConnectionsPerIP}};最小值为{{defaultConfigs.tcpMinConnectionsPerIP}}。 |
| 单IP TCP新连接速率 |
单个IP可以创建TCP新连接的速率。如果为0,则默认为{{defaultConfigs.tcpNewConnectionsRate}};最小值为{{defaultConfigs.tcpNewConnectionsMinRate}}。 |
| TCP端口列表 |
在这些端口上使用当前配置。默认为80和443两个端口。 |
| IP白名单 |
在白名单中的IP不受当前设置的限制。 |
| {{message.datetime}} | 集群:{{message.cluster.name}} DNS集群:{{message.cluster.name}} | 节点:{{message.node.name}} DNS节点:{{message.node.name}} |
| {{message.body}} |
| 启用 |
启用后,如果找不到某个域名的解析记录,则向上一级DNS查找。 |
| 从节点本机读取 上级DNS主机 |
选中后,节点会试图从 |
| 上级DNS主机地址 * |
|
| 允许的域名 | 支持星号通配符,比如 |
| 不允许的域名 |
支持星号通配符,比如 |
| 启用 |
|
| 记录所有访问 |
包括对没有在系统里创建的域名访问。 |
| 月度价格 |
元
|
| 季度价格 |
元
|
| 年度价格 |
元
|
| 基础流量费用 * |
元/GB
|
| 带宽百分位 * |
th
|
| 带宽价格 |
|
| 是否开启统计 |
|
| 分组{{groupIndex+1}} | {{cond.param}} {{cond.operator}} {{typeName(cond)}}: {{cond.value}} {{group.connector}} |
| 分组之间关系 |
只要满足其中一个条件分组即可。 需要满足所有条件分组。 |
| 启用HTTP/2 |
|
|
| 选择证书 |
选择或上传证书后HTTPSTLS服务才能生效。
|
|
| TLS最低版本 | ||
| 加密算法套件(CipherSuites) |
点击可选套件添加。 |
|
| 是否开启HSTS |
开启后,会自动在响应Header中加入 Strict-Transport-Security: ... max-age={{hsts.maxAge}} ; includeSubDomains ; preload 修改 |
|
| HSTS有效时间(max-age) |
秒
{{hsts.days}}天
|
|
| HSTS包含子域名(includeSubDomains) |
|
|
| HSTS预加载(preload) |
|
|
| HSTS生效的域名 |
如果没有设置域名的话,则默认支持所有的域名。 |
|
| OCSP Stapling | 选中表示启用OCSP Stapling。 |
|
| 客户端认证方式 | ||
| 客户端认证CA证书 |
用来校验客户端证书以增强安全性,通常不需要设置。 |
|
在请求刚初始化时调用,此时自定义Header等尚未生效。
在准备执行请求或者转发请求之前调用,此时自定义Header、源站等已准备好。
暂时还没有缓存条件。
| 缓存条件 | 分组关系 | 缓存时间 |
|---|---|---|
|
|
和 或 | {{cacheRef.life.count}} {{timeUnitName(cacheRef.life.unit)}} 不缓存 |
暂时还没有URL跳转规则。
用来区分不同缓存内容的唯一Key。
允许请求的缓存方法,默认支持所有的请求方法。
内容尺寸如果高于此值则不缓存。
内容尺寸如果低于此值则不缓存。
选中后,Gzip等压缩后的Chunked内容可以直接缓存,无需检查内容长度。
选中后,支持缓存源站返回的某个区间的内容,该内容通过
允许缓存的HTTP状态码列表。
当响应的Cache-Control为这些值时不缓存响应内容,而且不区分大小写。
选中后,当响应的Header中有Set-Cookie时不缓存响应内容。
选中后,当请求的Header中含有Pragma: no-cache或Cache-Control: no-cache时,会跳过缓存直接读取源内容。
| 是否启用 |
|
| 最大并发连接数 |
当前服务最大并发连接数。为0表示不限制。 |
| 单IP最大并发连接数 |
单IP最大连接数,统计单个IP总连接数时不区分服务。为0表示不限制。 |
| 单连接带宽限制 |
客户端单个请求每秒可以读取的下行流量。 |
| 单请求最大尺寸 |
单个请求能发送的最大内容尺寸。 |
| WAF策略 |
{{vFirewallPolicy.name}} [{{vFirewallPolicy.modeInfo.name}}]
当前集群没有设置WAF策略,当前配置无法生效。
使用当前服务所在集群的设置。 |
| 启用WAF |
启用WAF之后,各项WAF设置才会生效。 |
| 对象 | 数值 | 占比 |
|---|---|---|
| "+e.keys[0]+" | "+t+" | ",0);0
| 缓存策略 |
{{vCachePolicy.name}}
当前集群没有设置缓存策略,当前配置无法生效。
使用当前服务所在集群的设置。 |
| 启用缓存 |
|
| 收起选项更多选项 | |
| 使用默认缓存条件 |
选中后使用系统中已经定义的默认缓存条件。 |
| 添加X-Cache Header |
选中后自动在响应Header中增加 |
| 添加Age Header |
选中后自动在响应Header中增加 |
| 支持源站控制有效时间 |
选中后表示支持源站在Header中设置的 |
| 允许PURGE |
允许使用PURGE方法清除某个URL缓存。 |
| PURGE Key * |
[随机生成]。需要在PURGE方法调用时加入 |
| 通用Header列表 |
需要检查的Header列表。 |
| Header值超出长度 |
字节
超出此长度认为匹配成功,0表示不限制。 |
| 统计对象组合 * |
|
| 统计周期 * |
秒
|
| 阈值 * |
| 来源域名允许为空 |
允许不带来源的访问。 |
| 来源域名允许一致 |
允许来源域名和当前访问的域名一致,相当于在站内访问。 |
| 允许的来源域名 |
允许的来源域名列表,比如 |
暂时还没有缓存条件。
| 缓存条件 | 分组关系 | 缓存时间 | 操作 | |
|---|---|---|---|---|
|
|
和 或 | {{cacheRef.life.count}} {{timeUnitName(cacheRef.life.unit)}} 不缓存 | 修改 暂停恢复 删除 |
所有条件匹配顺序为从上到下,可以拖动左侧的排序。服务设置的优先级比全局缓存策略设置的优先级要高。
+添加不缓存设置| 源站地址 | 权重 | 状态 | 操作 |
|---|---|---|---|
| {{origin.addr}}
|
{{origin.weight}} |
|
修改 删除 |
| 启用配置 |
|
| 允许所有来源域(Origin) |
选中表示允许所有的来源域。 |
| 允许的来源域列表(Origin) |
只允许在列表中的来源域名访问Websocket服务。 |
| 是否传递请求来源域 |
选中表示把接收到的请求中的Origin字段传递到源站。 |
| 指定传递的来源域 |
指定向源站传递的Origin字段值。 |
| 握手超时时间(Handshake) |
秒
0表示使用默认的时间设置。 |
暂时还没有重写规则。
| 匹配规则 | 转发目标 | 转发方式 | 状态 | 操作 | |
|---|---|---|---|---|---|
| {{rule.pattern}}
|
{{rule.replace}} | 隐式 显示 |
|
修改 删除 |
拖动左侧的图标可以对重写规则进行排序。
| 启用过时缓存 |
|
| 有效期 |
缓存在过期之后,仍然保留的时间。 |
| 状态码 | 在这些状态码出现时使用过时缓存,默认支持 |
| 支持stale-if-error |
选中后,支持在Cache-Control中通过 |
| 自动跳转到HTTPS |
开启后,所有HTTP的请求都会自动跳转到对应的HTTPS URL上,
|
开启后,所有HTTP的请求都会自动跳转到对应的HTTPS URL上,
| 状态码 | |
| 跳转后域名或IP地址 |
默认和用户正在访问的域名或IP地址一致,不填写就表示使用当前的域名。 |
| 端口 |
默认端口为443。 |
| 允许的域名 |
如果填写了允许的域名,那么只有这些域名可以自动跳转。 |
| 排除的域名 |
如果填写了排除的域名,那么这些域名将不跳转。 |
| 动作类型 * |
{{action.description}} |
| 封锁时间 |
秒
|
| 封锁范围 |
只封锁用户对当前网站服务的访问,其他服务不受影响。 封锁用户对所有网站服务的访问。 |
| 有效时间 |
秒
验证通过后在这个时间内不再验证;如果为空或者为0表示默认。 |
| 最多失败次数 |
次
允许用户失败尝试的最多次数,超过这个次数将被自动加入黑名单;如果为空或者为0表示默认。 |
| 失败拦截时间 |
秒
在达到最多失败次数(大于0)时,自动拦截的时间;如果为空或者为0表示默认。 |
| 有效时间 |
秒
验证通过后在这个时间内不再验证。 |
| 有效时间 |
秒
验证通过后在这个时间内不再验证。 |
| IP名单类型 * | |
| 选择IP名单 * |
如不选择,则自动添加到当前策略的IP名单中。 |
| 级别 | |
| 超时时间 |
秒
0表示不超时。 |
| 标签 * |
|
| 状态码 * | |
| 网页内容 | |
| 下一个分组 * | |
| 下一个分组 * | |
| 下一个规则集 * |
系统总是会先执行记录日志、标签等不会修改请求的动作,再执行阻止、验证码等可能改变请求的动作。
`}),Vue.component("http-auth-config-box",{props:["v-auth-config","v-is-location"],data:function(){let e=this.vAuthConfig;return null==(e=null==e?{isPrior:!1,isOn:!1}:e).policyRefs&&(e.policyRefs=[]),{authConfig:e}},methods:{isOn:function(){return(!this.vIsLocation||this.authConfig.isPrior)&&this.authConfig.isOn},add:function(){let t=this;teaweb.popup("/servers/server/settings/access/createPopup",{callback:function(e){t.authConfig.policyRefs.push(e.data.policyRef)},height:"28em"})},update:function(e,t){teaweb.popup("/servers/server/settings/access/updatePopup?policyId="+t,{callback:function(e){teaweb.success("保存成功",function(){teaweb.reload()})},height:"28em"})},remove:function(e){this.authConfig.policyRefs.$remove(e)},methodName:function(e){switch(e){case"basicAuth":return"BasicAuth";case"subRequest":return"子请求"}return""}},template:`| 启用认证 |
|
| 启用5秒盾 |
|
暂时还没有Header。
| 名称 | 值 | 操作 |
|---|---|---|
|
{{header.name}}
|
{{header.value}} | 修改 删除 |
这里可以设置需要从请求中删除的Header。
| 需要删除的Header |
将会覆盖已有的同名Header。
暂时还没有Header。
| 名称 | 值 | 操作 |
|---|---|---|
|
{{header.name}}
|
{{header.value}} | 修改 删除 |
这里可以设置需要从响应中删除的Header。
| 需要删除的Header |
| 合并重复的路径分隔符 |
合并URL中重复的路径分隔符为一个,比如 |
为了给您提供更好的服务,我们正在升级网站,请稍后重新访问。
Request ID: \${requestId}. `}},template:`| 自定义页面 |
根据响应状态码返回一些自定义页面,比如404,500等错误页面。 |
||||||||||
| 临时关闭页面 |
开启临时关闭页面时,所有请求都会直接显示此页面。可用于临时升级网站或者禁止用户访问某个网页。 |
| 启用 |
|
| 压缩级别 |
级别越高,压缩比例越大。 |
| 支持的扩展名 |
含有这些扩展名的URL将会被压缩,不区分大小写。 |
| 支持的MimeType |
响应的Content-Type里包含这些MimeType的内容将会被压缩。 |
| 压缩算法 |
选择支持的压缩算法和优先顺序,拖动图表排序。 |
| 支持已压缩内容 |
支持对已压缩内容尝试重新使用新的算法压缩;不选中表示保留当前的压缩格式。 |
| 内容最小长度 |
0表示不限制,内容长度从文件尺寸或Content-Length中获取。 |
| 内容最大长度 |
0表示不限制,内容长度从文件尺寸或Content-Length中获取。 |
| 匹配条件 |
|
{{description}}
[已打开] {{realDescription}}。
| 启用 |
|
| 选择字符编码 | |
| 字符编码是否大写 |
选中后将指定的字符编码转换为大写,比如默认为utf-8,选中后将改为UTF-8。 |
| 启用 | 启用后,将会在响应的Header中添加 |
| 覆盖源站设置 |
选中后,会覆盖源站Header中已有的 |
| 自动计算时间 | 根据已设置的缓存有效期进行计算。 |
| 强制缓存时间 |
从客户端访问的时间开始要缓存的时长。 |
| 开启访问日志 |
|
| 基础信息 | 默认记录客户端IP、请求URL等基础信息。 |
| 高级信息 |
在基础信息之外要存储的信息。 记录"请求Body"将会显著消耗更多的系统资源,建议仅在调试时启用,最大记录尺寸为2MB。 |
| 要存储的访问日志状态码 |
|
| 记录客户端中断日志 |
以 |
| 只记录WAF相关日志 |
选中后只记录WAF相关的日志。通过此选项可有效减少访问日志数量,降低网络带宽和存储压力。 |
| 启用Gzip压缩 |
|
| 压缩级别 |
级别越高,压缩比例越大。 |
| Gzip内容最小长度 |
0表示不限制,内容长度从文件尺寸或Content-Length中获取。 |
| Gzip内容最大长度 |
0表示不限制,内容长度从文件尺寸或Content-Length中获取。 |
| 匹配条件 |
|
| 是否启用 | |
| 脚本代码 | {{comment}} |
| 启用反向代理 |
|
| 回源主机名(Host) |
请求源站时的Host,用于修改源站接收到的域名 ,"跟随代理服务"是指源站接收到的域名和当前代理服务保持一致 ,"跟随源站"是指源站接收到的域名仍然是填写的源站地址中的信息,不随代理服务域名改变而改变 ,自定义Host内容中支持请求变量。 |
| 回源跟随 |
选中后,自动读取源站跳转后的网页内容。 |
| 自动添加的Header |
选中后,会自动向源站请求添加这些Header。 |
| 请求URI(RequestURI) |
\${requestURI}为完整的请求URI,可以使用类似于"\${requestURI}?arg1=value1&arg2=value2"的形式添加你的参数。 |
| 去除URL前缀(StripPrefix) |
可以把请求的路径部分前缀去除后再查找文件,比如把 /web/app/index.html 去除前缀 /web 后就变成 /app/index.html。 |
| 是否自动刷新缓存区(AutoFlush) |
开启后将自动刷新缓冲区数据到客户端,在类似于SSE(server-sent events)等场景下很有用。 |
| 源站连接失败超时时间 |
秒
连接源站失败的最大超时时间,0表示不限制。 |
| 源站读取超时时间 |
秒
读取内容时的最大超时时间,0表示不限制。 |
| 源站最大并发连接数 |
源站可以接受到的最大并发连接数,0表示使用系统默认。 |
| 源站最大空闲连接数 |
当没有请求时,源站保持等待的最大空闲连接数量,0表示使用系统默认。 |
| 源站最大空闲超时时间 |
秒
源站保持等待的空闲超时时间,0表示使用默认时间。 |
| PROXY Protocol |
选中后表示启用PROXY Protocol,每次连接源站时都会在头部写入客户端地址信息。 |
| PROXY Protocol版本 |
发送类似于 发送二进制格式的头部信息。 |
| 是否启用 |
选中后表示使用自定义的请求变量获取客户端IP。 |
| 获取IP方式 * |
{{option.description}} |
| 读取IP变量值 * |
通过此变量获取用户的IP地址。具体可用的请求变量列表可参考官方网站文档。 |
| 是否开启静态资源分发 |
|
| 静态资源根目录 |
可以访问此根目录下的静态资源。 |
| 首页文件 |
在URL中只有目录没有文件名时默认查找的首页文件。 |
| 去除URL前缀 |
可以把请求的路径部分前缀去除后再查找文件,比如把 /web/app/index.html 去除前缀 /web 后就变成 /app/index.html。 |
| 路径解码 |
是否对请求路径进行URL解码,比如把 /Web+App+Browser.html 解码成 /Web App Browser.html 再查找文件。 |
| 是否终止请求 |
在找不到要访问的文件的情况下是否终止请求并返回404,如果选择终止请求,则不再尝试反向代理等设置。 |
| 启用 |
选中后表示开启自动WebP压缩;只有满足缓存条件的图片内容才会被转换。 |
| 图片质量 |
%
取值在0到100之间,数值越大生成的图像越清晰,同时文件尺寸也会越大。 |
| 支持的扩展名 |
含有这些扩展名的URL将会被转成WebP,不区分大小写。 |
| 支持的MimeType |
响应的Content-Type里包含这些MimeType的内容将会被转成WebP。 |
| 内容最小长度 |
0表示不限制,内容长度从文件尺寸或Content-Length中获取。 |
| 内容最大长度 |
0表示不限制,内容长度从文件尺寸或Content-Length中获取。 |
| 匹配条件 |
|
| 当前正在使用的算法 |
{{scheduling.name}} [修改]
{{scheduling.description}} |
| 状态码 | |
| 提示内容 | |
| 超时时间 |
秒
触发阻止动作时,封锁客户端IP的时间。 |
URL前缀,有此前缀的URL都将会被匹配,通常以
要排除的URL前缀,有此前缀的URL都将会被匹配,通常以
完整的URL路径,通常以
要排除的完整的URL路径,通常以
匹配URL的正则表达式,比如
不要匹配URL的正则表达式,意即只要匹配成功则排除此条件,比如
匹配User-Agent的正则表达式,比如
匹配User-Agent的正则表达式,比如
其中可以使用变量,类似于
{{operatorDescription}}
要匹配的正则表达式,比如
要对比的数字。
参数值除以10的余数,在0-9之间。
参数值除以100的余数,在0-99之间。
和参数值一致的字符串。
和参数值不一致的字符串。
参数值的前缀。
参数值的后缀为此字符串。
参数值包含此字符串。
参数值不包含此字符串。
添加参数值列表。
添加参数值列表。
添加扩展名列表,比如
添加MimeType列表,类似于
要对比的IP。
参数中IP转换成整数后除以10的余数,在0-9之间。
参数中IP转换成整数后除以100的余数,在0-99之间。
选中后表示对比时忽略参数值的大小写。
在此周期内同一对象累积为同一数据。
The site traffic has exceeded the limit. Please contact with the site administrator.
Request ID: \${requestId}. `}},template:`| 是否启用 |
注意:由于流量统计是每5分钟统计一次,所以超出流量限制后,对用户的提醒也会有所延迟。 |
| 日流量限制 |
|
| 月流量限制 |
|
| 网页提示内容 |
[使用模板]。当达到流量限制时网页显示的HTML内容,不填写则显示默认的提示内容,适用于网站类服务。 |
| 有效时间 |
秒
验证通过后在这个时间内不再验证,默认600秒。 |
| 最多失败次数 |
次
允许用户失败尝试的最多次数,超过这个次数将被自动加入黑名单。如果为空或者为0,表示不限制。 |
| 失败拦截时间 |
秒
在达到最多失败次数(大于0)时,自动拦截的时长;如果为0表示不自动拦截。 |
| 失败全局封禁 |
是否在失败时全局封禁,默认为只封禁对单个网站服务的访问。 |
| 验证码中数字个数 | |
| 定制UI | |
| 页面标题 | |
| 按钮标题 |
类似于 |
| 显示请求ID |
在界面上显示请求ID,方便用户报告问题。 |
| CSS样式 | |
| 页头提示 |
类似于 |
| 页尾提示 |
支持HTML。 |
| 页面模板 |
模板中必须包含\${body}表示验证码表单!整个页面的模板,支持HTML,其中必须使用 |
| 启用 |
启用后,WAF将会尝试自动检测并阻止SYN Flood攻击。此功能需要节点已安装并启用Firewalld。 |
| 空连接次数 |
次/分钟
超过此数字的"空连接"将被视为SYN Flood攻击,为了防止误判,此数值默认不小于5。 |
| 封禁时间 |
秒
|
| 忽略局域网访问 |
|
|
|
IP | 类型 | 级别 | 过期时间 | 备注 | 操作 |
|---|---|---|---|---|---|---|
|
|
{{item.region}}
| {{item.isp}}
添加于 {{item.createdTime}}
@
[黑白名单:{{item.list.name}}]
[黑白名单:{{item.list.name}}
[服务:{{item.policy.server.name}}]
[服务:{{item.policy.server.name}}]
[策略:{{item.policy.name}}]
|
IPv4 IPv4 IPv6 所有IP | {{item.eventLevelName}} - |
{{item.expiredTime}}
不过期
已过期
{{formatSeconds(item.lifeSeconds)}}
|
{{item.reason}} - | 日志 修改 删除 |
| 启用健康检查 |
通过访问节点上的网站URL来确定节点是否健康。 |
||||||||
| 检测URL * |
拼接后的检测URL: |
||||||||
| 检测时间间隔 |
两次检查之间的间隔。 |
||||||||
| 自动下线 |
选中后系统会根据健康检查的结果自动标记节点的上线/下线状态,并可能自动同步DNS设置。 |
||||||||
| 连续上线次数 |
连续{{healthCheck.countUp}}次检查成功后自动恢复上线。 |
||||||||
| 连续下线次数 |
连续{{healthCheck.countDown}}次检查失败后自动下线。 |
||||||||
| 允许的状态码 |
允许检测URL返回的状态码列表。 |
||||||||
| 超时时间 |
读取检测URL超时时间。 |
||||||||
| 连续尝试次数 |
如果读取检测URL失败后需要再次尝试的次数。 |
||||||||
| 每次尝试间隔 |
如果读取检测URL失败后再次尝试时的间隔时间。 |
||||||||
| 终端信息(User-Agent) |
发送到服务器的User-Agent值,不填写表示使用默认值。 |
||||||||
| 只基础请求 |
只做基础的请求,不处理反向代理(不检查源站)、WAF等。 |
||||||||
| 记录访问日志 |
记录健康检查的访问日志。 |
||||||||
{{message}}
[{{log.createdTime}}][{{log.createdTime}}][{{log.tag}}]{{log.description}} 共{{log.count}}条 {{log.server.name}}
| 阈值 | 动作 | ||||||
|---|---|---|---|---|---|---|---|
|
|
|
| 使用的DNS解析库 |
边缘节点使用的DNS解析库。修改此项配置后,需要重启节点进程才会生效。 |