作为 Java 新手,我维护的 Demo 站(SpringBoot+MySQL)总出问题 —— 要么被爬虫爬走接口文档,要么被异常参数搞崩服务,每次都要熬夜恢复。试了雷池 WAF 后,不用改代码,30 分钟部署完成,Demo 站再也没翻车,今天分享新手也能上手的防护方案,避免大家走弯路。
一、Java 新手的 Demo 站痛点,雷池刚好解决
我用阿里云 1 核 2G 服务器搭 Demo 站,主要放个人项目演示,之前的痛点很真实:
- 接口被爬:写的 Swagger 接口文档,没几天就被爬虫爬走,还被用来做恶意测试;
- 参数攻击:有人用 “id=1 or 1=1” 这类参数调用接口,MySQL 报语法错误,Demo 站直接 500;
- 不懂运维:看网上的防护教程要改 Nginx 配置、写拦截器,新手根本搞不懂。
雷池最打动我的是 “零门槛”—— 不用懂运维,不用改 Java 代码,免费还好用,刚好适合我这种新手。
二、新手部署雷池的 3 步实操
1. 准备工作:确认环境
我的 Demo 站用 Nginx 做反向代理,先确认 Nginx 正常运行(systemctl status nginx),再确保 80/443 端口没被其他程序占用(netstat -tuln | grep 80),没装 Docker 的话,先执行一键安装脚本:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker && systemctl enable docker
2. 部署雷池:一条命令搞定
复制这条命令到终端,回车后等 1 分钟,不用改任何参数:
docker run -d --name leichi -p 80:80 -p 443:443 -v /etc/leichi:/etc/leichi --restart=always leichi/waf:community
执行docker ps,看到 “leichi” 状态为 “Up X seconds”,就部署成功了。再执行docker logs leichi | grep "初始密码",把密码复制下来,后面登录要用。
3. 关联 Demo 站:3 分钟配置
打开浏览器输服务器 IP,用 admin + 初始密码登录雷池控制台,改完密码后:
- 点击 “网站管理→添加网站”,填写 Demo 站信息:
- 网站域名:我的是 “demo.xxx.cn”,没域名填服务器 IP;
- 后端地址:服务器内网 IP(阿里云控制台 “实例详情” 里能查);
- 后端端口:Nginx 的端口(默认 80)。
- 点击 “保存”,再进入 “规则模板→选择 Demo 站防护模板”,点击 “应用”—— 雷池会自动配置针对 Demo 站的规则,不用手动调。
三、新手必配:2 条规则护接口
Demo 站的核心是接口安全,我加了 2 条简单规则,全程可视化操作:
- 防接口文档被爬:
- 进入 “防护规则→爬虫防护”,勾选 “启用智能爬虫识别”;
- 对 Swagger 路径(/swagger-ui.html)加限制:“单 IP 每小时最多访问 10 次”,超过拦截。
- 拦异常参数:
- 进入 “规则管理→参数防护”,添加规则:
- 防护路径:/api/*(Demo 站的所有接口);
- 参数条件:“包含特殊字符('、"、; 等)”,符合条件拦截。
配置后,用异常参数测试接口,直接返回 403,Demo 站再也没报 500 错误,爬虫也少了 90%。
四、新手踩过的坑,大家别再犯
- 端口冲突:如果 Nginx 已占 80 端口,先执行systemctl stop nginx,部署完雷池再systemctl start nginx;
- 安全组放行:阿里云服务器要在 “安全组” 里放行 80、443、9443 端口,不然进不了雷池控制台;
- 别过度配置:Demo 站不用加太多规则,选 “Demo 站模板”+2 条核心规则足够,规则多了反而影响访问速度。
现在我的 Demo 站稳定运行 2 个月,不用天天担心被搞崩,还能把精力放在优化 Java 代码上。如果你们也是 Java 新手,维护 Demo 站总翻车,试试雷池,免费又简单,新手也能轻松护好接口。