DiscuzX站点被CC攻击防护

DiscuzX站点被CC攻击时,最直接的表现是访问变慢、502错误增多、服务器CPU跑满,但带宽和连接数未必异常高。
本文面向零基础站长,按准备、操作、避坑、验证四个环节,给出可直接执行的Nginx限速、宝塔防火墙配置和日志排查方案,帮你快速缓解攻击并恢复论坛正常访问。

先确认是不是CC攻击

CC攻击本质是用大量看似正常的请求消耗服务器资源,常见特征是单个IP或少量IP在短时间内高频访问动态页面,比如 forum.phphome.phpmember.php

登录服务器后,先用下面命令看当前连接数最高的IP:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20

如果某个IP连接数明显偏高,再结合Nginx访问日志确认它是否在频繁请求动态页面:

tail -f /www/wwwlogs/你的域名.log | awk '{print $1}' | sort | uniq -c | sort -nr | head

判断依据: 若单个IP每分钟请求超过60次且集中在PHP页面,基本可判定为CC攻击或恶意采集。

Nginx层限速与限连接

在宝塔面板中进入站点设置,找到“配置文件”,在 server 块内加入以下限速规则。
注意不要直接覆盖原有配置,只添加缺失部分:

# 定义限速区域,放在http块或server块外
limit_req_zone $binary_remote_addr zone=discuz_req:10m rate=30r/m;
limit_conn_zone $binary_remote_addr zone=discuz_conn:10m;

# 在server块内引用
limit_req zone=discuz_req burst=10 nodelay;
limit_conn discuz_conn 10;

保存后重载Nginx:

nginx -t && nginx -s reload

预期结果: 单个IP每分钟最多30次请求,突发允许10次,超出后返回503。
如果论坛正常用户被误伤,可把 rate 调整为 60r/m

宝塔防火墙与IP黑名单

如果服务器安装了宝塔Nginx防火墙,进入“Nginx防火墙”->“全局配置”,开启CC防御,模式选择“普通”或“加强”,阈值建议先设每分钟120次,观察一天再调整。

同时在“IP黑名单”中封禁确认攻击的IP。
批量封禁可在SSH中执行:

# 临时封禁单个IP
iptables -I INPUT -s 1.2.3.4 -j DROP

# 查看已封禁规则
iptables -L -n --line-numbers

注意: iptables规则重启后会丢失,建议用宝塔防火墙面板操作,或配合 iptables-persistent 保存。

避坑与高频问题

限速规则写错位置会导致Nginx启动失败。 limit_req_zone 必须放在 http 块内,不能放在 server 块内,否则 nginx -t 会报错。

不要一上来就把阈值调得过低。 正常用户浏览论坛也会产生连续请求,阈值太低会误封真实访客,建议先观察日志再收紧。

CC攻击可能来自多个IP。 如果攻击源分散,单纯封IP效果有限,应优先依靠Nginx限速和防火墙的CC防御功能。

DiscuzX自身也有防护设置。 后台“全局”->“防灌水”中可开启验证码、限制搜索频率,能减少部分自动化请求。

验证防护是否生效

重载配置后,用 abcurl 模拟高频请求,观察是否被限速:

for i in $(seq 1 50); do curl -s -o /dev/null -w "%{http_code}\n" https://你的域名/forum.php; done

如果大量返回503,说明限速已生效。
同时观察服务器负载:

top -bn1 | head -5

判断标准: 防护生效后,CPU使用率应明显下降,正常用户访问论坛不再出现长时间等待。
若攻击持续,建议联系服务商接入高防IP或CDN清洗。

常见疑问

CC攻击和DDoS有什么区别? CC攻击主要消耗服务器CPU和数据库资源,DDoS通常靠大流量堵塞带宽。
CC攻击用限速和防火墙更有效,DDoS需要高防清洗。

开启限速后搜索引擎抓取会受影响吗? 会。
建议在Nginx配置中对百度、谷歌等爬虫IP段放行,或把 rate 适当调高,避免影响收录。

宝塔防火墙和Nginx限速需要同时开吗? 建议同时开。
Nginx限速是基础层,宝塔防火墙提供更细的CC识别和封禁策略,两者互补。

攻击停止后要不要关闭限速? 可以保留,但把阈值调回正常水平。
长期保持过低阈值会影响用户体验和SEO。

如果攻击规模超出单机防护能力,建议优先考虑接入CDN或高防服务,具体配置以服务商控制台实际显示为准。

分享到:
上一篇
Discuz论坛搭建教程,社区网站服务器选型
下一篇
Halo CMS开源建站,前后端分离个人站点
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意