源站侧限流与高防侧清洗的配合方式,核心在于“分工明确、层层设防”:高防负责扛住大流量攻击,源站负责守住业务逻辑和最后的资源底线,两者通过精准的阈值联动、回源协议优化和应急切换机制,才能做到攻击打不垮、误杀不伤业务。
很多站长都有这种体验:明明买了高防IP,源站还是被打挂了,查来查去,问题往往出在“高防清洗和源站限流各玩各的”高防把流量洗了一遍,放进来的回源流量依然能把源站带宽或应用连接数打满,这篇文章就从实操角度拆解,这两层防线到底该怎么配合。
先搞明白:高防清洗和源站限流各自管哪一段
高防侧清洗的职责边界
高防IP或高防CDN的核心能力,是把攻击流量引流到云端清洗机房,那里有专门的流量牵引、DDoS识别算法和缓存节点,把SYN Flood、UDP反射放大这类网络层攻击挡在源头,清洗完成后的“相对干净”流量,才会通过回源线路转发到你的真实服务器。
但这里有个行业共识需要明确:高防清洗主要解决“量”的问题,它处理的是带宽型攻击和连接数攻击,对于应用层的慢速攻击、特定API的突发请求,大部分高防设备只能做基础频率限制,没法理解你的业务逻辑。
源站侧限流的真实价值
源站限流(通常指Nginx层、应用层或云防火墙上的速率限制)解决的是“质”的问题,比如一个正常用户每秒请求2次,突然某个IP每秒请求200次;比如某个接口平时QPS只有100,突然涨到5000,这些场景高防不一定拦,但源站自己能感知到。
源站限流的核心价值在于保护后端资源数据库连接池、PHP-FPM进程数、Java线程池、服务器带宽,就算高防误判或者攻击流量穿透,源站限流也能保证服务不雪崩。
源站限流和高防清洗怎么配合:三个关键配合点
第一层配合:回源IP白名单与源站访问控制
高防清洗后的流量,回源IP通常是固定的几个高防节点IP,这时候源站侧最基础也最有效的一步,就是在源站防火墙或安全组里只放行高防回源IP段,这就等于给你的源站加了一道隐形的门直接访问源站IP的流量全部丢弃,攻击者就算拿到了源站IP也打不进来。
实际操作路径(以简米云高防+ECS为例):
- 在ECS安全组中添加入方向规则,仅允许高防回源IP段的TCP 80/443端口访问
- 在服务器内部署firewalld或iptables规则,同样限制源IP
- 在Nginx的
allow和deny配置中,仅放行高防节点IP
这样做的好处是:源站不需要面对全网流量,只需要处理高防转发过来的那部分请求,压力小了,限流的精度自然就上来了。
第二层配合:阈值设定与联动告警
高防清洗和源站限流不是冷冰冰的静态规则,而是需要动态联动的,要设定三组阈值:

高防侧阈值:带完峰值、每秒新建连接数、并发连接数,超过阈值触发清洗,但回源流量一般控制在正常业务峰值的1.5倍以内。
源站侧阈值:CPU使用率、带宽使用率、Nginx的active connections数,建议设置两个层级警告阈值(比如CPU 60%)和熔断阈值(比如CPU 85%),达到熔断阈值时,Nginx直接返回503,而不是继续耗尽资源。
联动机制:高防的告警通知到运维人员,源站的限流日志也在同一套监控体系里,当高防触发清洗,运维人员要马上关注源站的QPS和错误率,手动下调源站限流阈值,给后端服务“减负”。
第三层配合:回源协议与连接复用优化
很多时候源站被打挂,不是流量大,而是连接数超过了源站的处理能力,高防侧与源站建立的是TCP连接,如果每个请求都新建连接,源站很快会耗尽文件描述符和内存,配合方式是在高防侧开启Keep-Alive长连接,让高防节点和源站之间的连接复用起来。
在源站Nginx配置中,对应调整为:
keepalive_timeout 60;
keepalive_requests 1000;
upstream backend {
server 127.0.0.1:8080;
keepalive 32;
}
高防侧的回源协议建议使用HTTP/1.1而不是HTTP/1.0,减少握手次数。连接建立少了,源站限流才有余力去处理真正的异常请求,而不是把资源浪费在握手环节。
实战场景:不同攻击类型下的配合策略
大流量DDoS攻击时
遇到上百G的流量攻击时,高防侧会自动触发清洗,大部分攻击流量在云端就被丢弃了,此时的源站限流策略应该是:
- 将Nginx的
limit_req和limit_conn模块阈值下调至平时的50%-70% - 开启应用层的请求频率限制,对单个IP的QPS限制压缩到正常值的1/2
- 数据库连接池数量适当调小,防止连接堆积
这样做的逻辑很简单:高防已经挡住了绝对大头,源站要防的是“漏网之鱼”和“误伤流量”,收紧限流是为了防止后端被零星的穿透流量打垮。
CC攻击(应用层攻击)时
CC攻击的特点是小流量、大并发、不断变换IP,高防侧一般通过Cookie验证、JS挑战、人机识别来拦截,但这种拦截有一定误杀率,源站限流这时候是决定性的防线:
- 在Nginx层启用
limit_req_zone按IP限流,超出QPS直接返回444 - 针对特定API(比如登录、短信接口)启用更严格的频率限制
- 配置应用层WAF规则,对同一会话的请求间隔做校验
行业共识认为,CC攻击的防御七成靠源站的精细限流,三成靠高防的流量调度,高防只能帮你分担带宽压力,业务逻辑层面的防护还得靠源站自己。
源站IP暴露后的应急配合
如果源站IP暴露,攻击者绕过高防直接打源站,这时候单纯靠限流是挡不住大流量的,应急配合方式是:

- 在高防侧开启“源站保护”模式,高防会对非回源IP段的访问进行黑洞封禁
- 源站安全组立即改为“只允许高防回源IP访问”
- 同时降低源站限流阈值,减缓资源消耗速度,为迁移IP争取时间
高防选型配合建议:怎么选才不浪费源站限流的功夫
高防IP源站防护策略中的常见误区
很多用户在挑选高防服务时,只看高防的防护峰值,忽略了回源带宽、回源线路质量和防护CC的能力。回源带宽决定了大流量攻击时源站能承受多少“干净流量”,如果回源带宽只有10M,而你的正常业务就需要20M带宽,那就意味着高防不仅挡不住攻击,连正常业务都会被源头带宽卡死。
另一个高频的问题是“源站限流和高防清洗冲突怎么办”,举例说明:高防放进来每秒5000个请求,但你的源站限流设置为每秒3000个,那么多余的2000个请求会被源站拒绝,这不算错误,反而是合理的源站限流必须优先保证服务不挂,而不是把所有回源流量都照单全收。
高防服务器多少钱一个月与配置匹配
关于价格(搭配地域词),国内主流云厂商的高防IP价格差异较大,华北地区、华东地区的高防资源相对丰富,价格透明一些,据行业公开报价,基础款20G防护的高防IP月付大概在几千元区间,但真正决定成本的往往是回源带宽、防护CC的QPS数、以及弹性防护的封顶值,建议在预算中优先保障源站带宽和并发处理能力,这两项决定了高防与源站配合的上限。
有条件的团队也可以考虑“高防+CDN+源站”三层架构:CDN做静态缓存,高防扛攻击,源站专注业务逻辑,每层各司其职,限流和清洗的配合压力会小很多。
源站侧限流配置的具体落地步骤
这里给出一套可直接参考的Nginx限流配置思路:
- 第一步:定义限流规则,比如共享内存区域大小、请求速率
http {
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=perip_conn:10m;
}
- 第二步:在location中应用规则
location /api/ {
limit_req zone=api_limit burst=20 nodelay;
limit_conn perip_conn 20;
access_log /data/logs/api_access.log;
}
-
第三步:配合高防回源IP白名单,保证只有高防IP才能访问源站
-
第四步:设定监控告警,当Nginx的
upstream响应时间超过2秒或5xx比例超过5%时,自动调低限流阈值
这套配置的核心不在于具体的数字,而在于“高防放开,源站收紧”的动态节奏,攻击来时,高防扛第一波,源站限流自动降级,攻击结束后,源站限流恢复默认值,保证正常用户体验。

高防清洗与源站限流联动容易踩的坑
回源超时设置太短导致的误杀
高防去请求源站时,如果源站处理慢,高防侧等待几秒就断开了,而源站侧还在处理请求,最终报错给用户,配合策略是:高防回源超时设到10-15秒,源站Nginx的proxy_read_timeout设到15-20秒,留足处理时间,如果源站限流触发,高防拿到503后可以配置重试或直接返回缓存内容。
限流粒度太粗导致的正常用户被限
只按IP限流,会造成整个公司或整个小区共享出口IP的用户被集体误杀,配合方式是:在源站限流中加入Cookie或Token维度,识别登录用户;或者高防侧先做一层手动验证码放行,再回源,多一层标识,限流就少一次误伤。
清洗阈值设置过低导致的“高防太敏感”
如果高防的清洗阈值定得太低,正常业务稍微波动就会触发清洗,用户访问出现验证码或连接重置,可验证的操作方法是:先观察一周历史流量峰值,把清洗阈值设定在峰值流量的1.2-1.5倍之间,再逐步下调到合适的保护水位。
高防清洗和源站限流从来不是替代关系,而是串行链路上的两道闸门。高防负责对付“大而猛”的流量冲击,源站负责处理“精而杂”的业务请求,两者配合的关键在于回源IP白名单隔离、阈值动态联动和超时参数的对齐。 任何一道闸门失守,另一道都可以兜底,反过来,任何一道闸门过于激进,都会拖累正常业务。
Q:源站限流和高防清洗怎么配合才不误伤正常用户?
A:核心是分层分级,高防侧用IP+指纹辨识大流量攻击,源站侧按IP+会话+接口维度做精细限流,同时关闭源站直接对外的访问入口,让所有流量统一走高防,回归到“高防过滤、源站限速”的单通道模式,配合时,高防的清洗阈值要高于正常业务峰值的30%以上,源站的限流阈值要低于高防回源限制的20%左右,这样两者之间有缓冲区间,正常波动不会被拦截。
Q:高防IP源站防护策略中,回源带宽怎么估算?
A:回源带宽根据正常业务请求的平均响应体大小和QPS估算,例如平均每个响应50KB,正常QPS为100,那么回源带宽需求约为40Mbps,建议预留2倍余量应对业务增长和攻击穿透流量,据主流云厂商的架构建议,回源带宽通常不低于高防防护峰值的1/20,否则大流量攻击时,高防清洗完毕的回源流量依然可能打满源站带宽,导致服务不可用。
Q:源站在高防后面,还需要做服务器级别的限流吗?
A:非常需要,据统计,相当一部分源站被打挂发生在高防清洗生效之后攻击流量被高防截住,但高防回源的正常流量加上少量穿透流量,依然超过了源站的并发处理能力,服务器级别的限流是最后一道物理闸门,没有它,前面所有的清洗措施都可能因为源站资源耗尽而功亏一篑。