
黑五前的独立站,最怕的不是流量不来,是流量来了带着CC攻击一起来。轻量应用服务器Lighthouse平时跑得好好的,一旦被刷接口、打登录、压搜索,CPU和带宽瞬间见底,源站直接失联。单独加高防成本太高,单独上CDN又挡不住应用层攻击。EdgeOne加Lighthouse的组合,解决的就是这个问题:用边缘节点挡掉恶意流量,用Lighthouse扛住剩下的干净请求。

EdgeOne对CC攻击的防护策略是默认开启的,不需要手动配规则就能生效。它内置了自适应频控,基于最近7天的流量建立速率基线,每24小时更新一次,自动识别并限制单IP的异常高频访问。处置方式支持JavaScript挑战,对疑似脚本的客户端下发验证,正常浏览器能通过,自动化工具会被拦下来。
对于独立站黑五期间最容易被盯上的路径,比如登录、注册、优惠券领取,可以在自适应频控的基础上再加一层自定义速率限制。把阈值设得比基线更紧,处置动作选拦截或挑战,把攻击成本抬上去。
Lighthouse有一个硬性限制:公网IP随实例绑定,不支持像CVM那样解绑EIP再换新IP。这意味着一旦源站IP泄露,攻击者可以绕过EdgeOne直接打Lighthouse,边缘防护再强也救不了。
所以接入EdgeOne之后必须做一步:在Lighthouse防火墙里只放行EdgeOne的回源IP段,拒绝其他所有公网入站请求。Lighthouse的防火墙只管控入方向,出方向默认放行,正好够用。回源IP段可以从EdgeOne控制台获取,如果担心IP段会变,可以用脚本定时抓取并更新防火墙规则。
另一个细节:Lighthouse的防火墙规则上限是每个实例100条。EdgeOne的回源IP段如果较多,需要合并成较少的网段再添加,或者用脚本动态维护,避免触达上限。
EdgeOne采用干净流量计费模式:被安全防护功能拦截的请求不计费,只对通过防护后的流量和请求收费。这个机制对黑五期间被攻击的独立站很友好,攻击流量打得越凶,只要规则在拦截,账单不会跟着涨。
但有一个前提容易被忽略:如果自适应频控的处置方式设成了观察而不是挑战或拦截,攻击流量会透传过去,照样计费,源站照样承压。黑五期间把处置动作从观察切到挑战,是让干净流量计费真正生效的关键一步。
EdgeOne挡的是边缘,Lighthouse自身的入口也要收紧。SSH端口不要对全网开放,改成密钥登录,数据库端口3306和6379绝对不能在公网入站规则里出现。Lighthouse默认自带DDoS基础防护,对付小规模流量攻击够用,但应用层的CC要靠EdgeOne的WAF和速率限制。
如果独立站跑的是WordPress或WooCommerce,静态资源尽量走EdgeOne缓存或对象存储,不要让商品大图和JS/CSS回源到Lighthouse。Lighthouse的带宽要留给动态请求和API响应,静态资源回源会挤占动态链路的带宽,攻击期间更容易雪崩。
黑五前按这个顺序做:在EdgeOne控制台添加站点,DNS切到CNAME接入,确认自适应频控处于开启状态且处置方式为JavaScript挑战;获取EdgeOne回源IP段,在Lighthouse防火墙中配置白名单,拒绝其他公网入站;把登录、搜索、优惠券接口加入自定义速率限制规则,阈值参考日常峰值的1.5到2倍;用压测工具从外部发一轮请求,确认正常浏览器能通过、脚本请求被挑战、源站IP直接访问被防火墙拒绝。
最后验证一件事:用curl直接请求Lighthouse公网IP的80端口,应该超时或被拒绝。如果还能拿到响应,说明防火墙白名单没生效,源站仍然暴露。这一步不能跳过。
问:Lighthouse自带DDoS基础防护,还需要EdgeOne吗?
自带的是网络层基础防护,对付SYN Flood这类洪水攻击够用。但CC攻击打的是应用层,模拟正常HTTP请求刷接口,基础防护识别不了。EdgeOne的WAF和自适应频控处理的是这一层,两者不重复。
问:EdgeOne的回源IP段会变吗?
会。所以手动配一次白名单不够,需要定期核对。如果不想手动维护,可以用脚本定时拉取最新IP段并调用腾讯云API更新Lighthouse防火墙规则。黑五前至少确认一次白名单里的IP段和EdgeOne控制台当前列表一致。
问:自适应频控的处置方式选挑战还是拦截?
优先选JavaScript挑战。正常用户的浏览器会执行JS,能通过验证;自动化脚本和爬虫通常不执行JS,会被拦下来。直接选拦截可能误伤真实用户,尤其是移动端或弱网环境。黑五期间流量大,误杀一个真实订单的代价比放过几个脚本请求高。
问:Lighthouse防火墙配了白名单,网站打不开怎么办?
先检查EdgeOne的回源IP段是否完整。漏配一个网段,部分区域的回源请求会被Lighthouse拒绝,表现为间歇性502或超时。另外确认防火墙规则是允许而不是拒绝,Lighthouse防火墙没有显式拒绝动作,规则之间是并集关系,找到允许就放行。如果还是不通,检查Lighthouse内部的操作系统防火墙是否也在拦截,控制台防火墙和系统防火墙是两层,都要放行。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。