全局配置
全局配置位于左侧菜单"全局配置",包含防火墙配置、Nginx配置、资源配置、默认配置、错误页面五个子页面。
防火墙配置
包含"CC全局配置"和"WAF全局配置"两个选项卡。
CC全局配置:
- CC 防护开关 - 控制全局 CC 防护是否启用
- 黑名单时间 - 全局默认的拉黑拦截时长(秒),网站"CC防护→高级设置"中的"系统默认"值来自这里
- 临时白名单 - 验证通过后免验证的时长(秒),不能小于 600 秒
- 默认拉黑方式 - 可选 ipset(全局)、断开连接(网站级别)、返回页面(网站级别)。ipset 几乎不消耗带宽和 CPU,建议默认使用非 ipset,并在攻击量升高时自动切换为 ipset
- 临时白名单阈值 - 达到总请求数/同 URL 请求阈值后进入临时白名单,降低误拦截
- 白名单 IP / 黑名单 IP - 全局黑白名单,一行一个,支持 # 注释
- 防止 TLS 握手攻击 - 限制异常 TLS 握手占用
Nginx配置
cdnfly 节点使用的 web 服务器是 Nginx,在这里可以完成 nginx.conf 的大部分配置。更详细的说明参考 http://nginx.org/en/docs/。支持按"全局配置"或"区域及节点配置"。
Worker
- worker_processes - worker 的进程数,一般设置 auto 就行
- worker_connections - 设置单个 worker 进程允许同时处理的最大连接数
- worker_rlimit_nofile - 设置 worker 进程的最大文件打开数
- worker_shutdown_timeout - 平滑关闭 worker 进程的超时时间。重载 nginx 时,如果 worker 在处理连接,master 会等到此设置的时间后再强制关闭
- 日志目录 - nginx 日志落盘位置
Http
gzip 设置:
- gzip_comp_level - 设置 gzip 压缩响应体的等级,可选值为 1-9,数值越高,压缩率越高
- gzip_http_version - 压缩响应体要求最小的 http 版本
- gzip_min_length - 压缩响应体要求最小的长度,该长度只参考 Content-Length 响应头
- gzip_vary - 是否添加响应头 Vary: Accept-Encoding,这个响应头将影响缓存行为
回源与缓存:
- 入口IP回源 - 使用入口 IP 回源
- proxy_request_buffering - 是否缓冲客户端请求体后再发给源站
- proxy_buffering - 开启时,nginx 将缓冲上游服务器响应的内容再传回客户端;关闭时直接返回
- proxy_cache_dir - 缓存目录
- proxy_cache_max_size - 设置总缓存内容的最大大小
- proxy_cache_methods - 设置只缓存这里指定的方法的请求
- proxy_http_version - 回源所使用的 http 版本,推荐使用 1.1 版本
- proxy_max_temp_file_size - 设置最大临时文件大小,此值将会影响上传文件的大小
- proxy_next_upstream - 当出现此参数指定的错误时,尝试连接下一个源
- proxy_connect_timeout - 连接源服务器超时时间,不能超过 75 秒
- proxy_send_timeout - 设置两个连续的 write 请求最大间隔时间,超时将关闭连接
- proxy_read_timeout - 设置两个连续的 read 请求最大间隔时间,超时将关闭连接
连接与响应:
- client_body_buffer_size - 客户端请求体缓冲区大小(KB),不建议设置过大,否则节点内存消耗升高
- server - 设置响应头 server 的值
- client_max_body_size - 设置客户端请求体的最大大小,设置为 0 将关闭检查
- default_type - 默认响应的 MIME 类型
- keepalive_requests - 设置 keepalive 的请求数,超过后将会关闭连接
- keepalive_timeout - keepalive 保持的最大时间,超时将关闭连接
- log_not_found - 是否把 404 请求记录到错误日志
- server_tokens - 是否关闭 nginx 的 Server 响应头版本信息
- large_client_header_buffers - 大请求头缓冲区设置
- server_names_hash_max_size - server names hash 表的最大大小,域名过多时可能需要增大
- server_names_hash_bucket_size - server names hash 桶大小
Stream
- proxy_connect_timeout - 连接源服务器超时时间,不能超过 75 秒
- proxy_timeout - 设置两个连续的 read 或 write 请求最大间隔时间,超时将关闭连接
资源配置
资源配置可以对用户的使用资源进行限制,防止滥用对系统造成影响,比如限制网站的黑白名单数量。分"网站"、"转发"、"公共"三个选项卡。
网站资源限制
配置限制:
- 相关配置限制不低于 - 限制网站的相关配置添加数量,如证书的 dnsapi、证书、cc 匹配器、cc 过滤器、cc 规则的数量
- 相关配置最大倍数 - 同上,不大于当前网站数的最大倍数
黑白名单:
- 黑名单 IP 数量限制 - 限制单个网站设置的黑名单数量
- 白名单 IP 数量限制 - 限制单个网站设置的白名单数量
缓存与解锁:
- 日清 URL 缓存次数 - 每日清 URL 缓存次数上限
- 日清目录缓存次数 - 每日清目录缓存次数上限
- 日预热 URL 次数 - 每日预热 URL 的次数上限
- 日解锁 IP 次数 - 每日解锁 IP 的次数
- 每次解锁 IP 个数 - 单次解锁 IP 总数限制
规则与域名:
- 单个 CC 规则组 - 单个 cc 规则组允许的规则数
- 单站最大域名数 - 默认为 100,建议最大 100,因为 let's encrypt 证书最大域名数为 100
- 默认监听 80 端口 - 如果四层转发需要监听 80 端口,可以关闭此项
下载日志:
- 每天允许下载次数 - 每天允许申请下载日志的次数
- 日志文件存放目录 - 下载日志临时存放的目录
- 日志文件存放时长 - 下载日志临时存放的时长,单位为小时
转发资源限制
- 禁用的端口 - 禁止四层转发监听的端口,多个端口使用英文逗号分隔,默认禁止 80 和 443 预留给 http 使用
- 相关配置限制不低于 / 相关配置最大倍数 - 限制四层转发的相关配置(如转发组数量),规则同网站
- ACL 规则数限制 - 四层转发中 ACL 规则数的限制,多了会影响性能
公共限制
- 禁用的自定义端口 - 同时禁止 HTTP 和转发监听的端口,禁止列表优先生效,多个端口以英文逗号分隔
- 允许的自定义端口 - 允许监听的自定义端口,可设置范围(如 81-222)或单个端口,多个值以英文逗号分隔
默认配置
默认配置为添加网站、添加转发提供默认值,分"网站"、"转发"、"证书"三个选项卡。
网站配置
HTTP:
- 监听端口 - 新建网站默认的 HTTP 监听端口,默认为 80
HTTPS:
- 监听端口 - 默认 443
- 开启 HSTS / 开启 HTTP2 / 开启 HTTP3 / 强制 HTTPS
- SSL 配置 - 可选推荐配置(TLS 1.2/1.3)、扩展兼容、极限兼容(TLS 1.0/1.1,不安全)、自定义
- ocsp_stapling
回源设置:
- 回源协议 - 可选 HTTP、HTTPS、跟随协议、跟随协议和端口
- 回源 http 端口 / 回源 https 端口
- 回源超时 / 连接超时
- 回源 SSL 协议 - 可选 TLSv1、TLSv1.1、TLSv1.2、TLSv1.3 等
缓存 / 源站请求头:
- 缓存规则 - 创建站点时继承的默认缓存规则,可新增或使用快速设置
- 回源请求头 - 节点请求源站时携带或修改的请求头
访问日志:
- 记录请求头 / 记录响应头 / 记录请求体 - 节点日志采集默认策略,响应头与请求体建议只在调试时开启
- 请求体大小限制 - 单位 KB
安全设置:
- 默认 CC 规则
- WAF 防护开关 - 新建站点默认是否开启站点级 WAF 总开关
- WAF 攻击自动封禁 - 同一 IP 命中防护达到阈值后自动临时封禁,可设置统计窗口
转发配置
- 监听协议 - tcp / udp
- 负载方式 - 轮循 / 定源
- 开启 proxy protocol
证书
- 证书类型 - 可选 zerossl / let's encrypt
错误页面
可自定义以下页面(支持按全局或区域及节点配置):
- 拉黑页面
- 400 错误
- 403 错误
- WAF 拦截页面
- 502 错误
- 504 错误
- 流量超限
- 套餐到期
- 站点锁定
- 域名未配置
- 访问节点 IP
- 连接数超限