我的网站被CC攻击后:3分钟接入Cloudflare的急救实录
上周三凌晨2点,手机突然被服务器告警短信轰炸——我的个人博客遭遇了CC攻击。CPU负载直接飙到800%,Nginx疯狂报503错误。作为一个小站长,这种场面真是头回遇到。今天就把这次”抗洪”经历和快速接入Cloudflare的实操经验分享给大家。
1. 攻击现场:服务器垂死挣扎
通过htop
查看发现大量来自同一IP段的HTTP连接,典型的CC攻击特征。当时第一反应是用iptables封IP:
iptables -I INPUT -s 45.148.10.0/24 -j DROP
但攻击者明显用了代理池,新IP不断涌来。手动封堵根本赶不上攻击节奏,服务器已经出现间歇性瘫痪。
2. 紧急方案:三分钟接入Cloudflare
想起之前看过Cloudflare的DDoS防护,决定死马当活马医。操作比想象中简单:
- 注册Cloudflare账号(直接用Google账号快捷登录)
- 添加域名时自动扫描现有DNS记录
- 把NS服务器改为Cloudflare提供的地址
重点来了!在「Security > Settings」里立即开启:
- Under Attack Mode(遇到攻击时临时开启)
- Security Level调到High
- 启用Bot Fight Mode
3. 立竿见影的防护效果
DNS生效后(其实只用了90秒),监控图表上的异常流量就像被刀切了一样:
# 攻击前
Requests/sec: 2,348
CPU load: 78.2
# 接入Cloudflare后
Requests/sec: 127
CPU load: 1.3
最惊喜的是免费版就有基础DDoS防护,后来查文档才知道Cloudflare每天处理超过57万亿次攻击请求(这数字太吓人了)。
4. 后续优化配置
第二天我补充了几个关键设置:
# 在Nginx配置中添加真实客户端IP
set_real_ip_from 103.21.244.0/22;
real_ip_header CF-Connecting-IP;
还在Page Rules里设置了:
- 对所有静态资源开启缓存
- 登录页面额外启用CAPTCHA验证
- 限制单个IP的API访问频率
5. 踩坑提醒
有两点要特别注意:
1) SSL证书问题:我原本用的Let’s Encrypt证书,切到Cloudflare后出现了混合内容警告。后来在SSL/TLS设置里改用Full模式才解决。
2) 邮件服务异常:因为MX记录也经过Cloudflare,导致邮件收发延迟。建议把MX记录设为DNS Only(灰色云图标)。
这次经历让我明白:对于个人站长,与其等攻击来了再抢救,不如提前做好防护。Cloudflare的免费方案已经能挡住大部分自动化攻击,关键是真的能3分钟快速上线——这比半夜爬起来写iptables规则幸福多了。
你有过类似的抗DDoS经历吗?欢迎在评论区分享你的实战技巧~
感谢分享,Cloudflare的免费防护真的这么给力吗?改天我也试试看
我去年也被CC攻击过,当时手忙脚乱搞了半天,早看到这篇文章就好了
大佬666!这个教程太实用了,收藏备用
想问下Cloudflare会不会影响网站速度啊?我看网上有人说会变慢