前阵子给一个日请求接近百万级的资讯站做边缘接入,记录一下使用 #阿里云ESA 的实际过程。
之前只挂了普通 CDN,遇到分布式低频刷表单时基本挡不住:每个 IP 只提交一两次,按 IP 计数的限频规则容易落空,源站还是被打到,响应流量也下不来。换成 #边缘安全加速 之后,我觉得比较顺手的一点是它把「边缘自定义规则」和「用量封顶」放在了同一层:可以直接在边缘写规则拦截带固定特征的 POST,同时给站点设一个流量上限,避免异常流量把账单打穿。相比在源站 Nginx 里一层层写限流,这种做法更省事,请求在边缘就处理掉了,回源带宽和源站压力都能降下来。
部署过程也比较简单。DNS 接入后 HTTPS 证书自动签发、自动续期,不用自己盯到期时间;缓存策略可以按路径分开配,静态页面走缓存、表单接口设 no-store,不会把动态响应缓存住。我这边是 ESA 在前、源站 WAF 在后做二层校验,即使边缘规则漏掉一部分流量,源站还有号码去重和一次性验证票据兜底。
也有需要提前规划的地方:基础版的自定义规则条数有额度,表达式支持的字段有限,所以要把更稳定、更不容易误伤的特征(固定的表单接口路径、异常 UA)优先放进去,别指望把所有判断都堆在边缘。另外基础版没有即时日志,排查具体请求时还是要结合源站 access log 一起看。
整体感受是,把加速和安全判断收拢到边缘同一层,对没有专职运维的小站点挺实用,配置改动能立刻生效,不用每次都登录服务器改配置再 reload。后续如果规则额度不够,再考虑往上加一档。
活动标签:#阿里云ESA #边缘安全加速