本文仅使用系统组件(宝塔 Nginx、ipset、iptables/nft、curl、计划任务)
1. 说明
后台已有的安全管理为应用层封禁配合本指南可完成网络层封禁,可进一步防护不管是扫描爬虫还是其它外部攻击
环境:宝塔 Nginx + Docker
同步封禁脚本中的 API_TOKEN 建议使用管理员账号生成的系统Token(即 API Token)。
推荐:
x-api-token/Authorization: Token <管理员系统Token>也可:
Authorization: Bearer <admin_jwt>
1.1 封禁恢复
先停掉计划任务,避免脚本继续把错误封禁写回防火墙。
# 1) 立即清空封禁集合
ipset flush studio_noise_block || true
# 2) 立即移除 INPUT 丢弃规则
iptables -D INPUT -m set --match-set studio_noise_block src -j DROP 2>/dev/null || true
# 3) 核对是否已移除
iptables -S INPUT | grep studio_noise_block || echo "INPUT 中无 studio_noise_block 规则"
ipset list studio_noise_block | sed -n '1,20p'
如果你使用的是 nftables,请同步检查并删除对应 set/drop 规则。
2. 方案选择
封禁量少(几十到几百)可用 Nginx deny。
封禁量大(1000+)建议用 ipset(或 nftables set):
查询复杂度更优,更新更快。
不需要把 1000+ IP 塞进 Nginx 配置。
Nginx 无需频繁 reload。



