雷池 SafeLine WAF(社区版 Docker)升级
⚠️ 生产环境强烈建议先备份,优先业务低峰操作;跨大版本(如LTS升级到新版)需要额外做数据库/站点配置迁移,先看官方Release公告
环境要求:Docker ≥20.10.14,Docker Compose ≥2.0.0
一、升级前必做(最重要)
# 默认安装目录 /data/safeline,备份整个目录
cp -a /data/safeline /data/safeline_bak- 记录当前版本、站点配置、自定义nginx配置、证书、IP黑白名单
- 业务低峰执行,升级过程会短暂中断WAF流量
- 查看官方更新日志,确认是否有破坏性变更
- LTS版本升级到普通新版,需要执行官方迁移脚本
二、在线一键升级(服务器能联网,推荐)
bash -c "$(curl -fsSLk [https://waf-ce.chaitin.cn/release/latest/upgrade.sh](https://waf-ce.chaitin.cn/release/latest/upgrade.sh))"华为云加速版本(国内拉镜像慢时)
CDN=1 bash -c "$(curl -fsSLk [https://waf-ce.chaitin.cn/release/latest/upgrade.sh](https://waf-ce.chaitin.cn/release/latest/upgrade.sh))"流式检测模式升级
STREAM=1 bash -c "$(curl -fsSLk [https://waf-ce.chaitin.cn/release/latest/upgrade.sh](https://waf-ce.chaitin.cn/release/latest/upgrade.sh))"执行脚本会自动拉新镜像、更新compose.yaml、重启容器,原有数据库、站点配置保留。
升级完成后,清理旧悬空镜像(可选,释放磁盘)
docker rmi $(docker images | grep "safeline" | grep "none" | awk '{print $3}')三、离线手动升级(服务器无法访问外网)
- 外网机器下载最新:
compose.yaml、seccomp.json、雷池镜像包image.tar.gz 上传到雷池服务器,进入safeline目录
cd /data/safeline # 备份旧编排文件 mv compose.yaml compose.yaml.old # 替换新版编排文件 wget "[https://waf-ce.chaitin.cn/release/latest/compose.yaml](https://waf-ce.chaitin.cn/release/latest/compose.yaml)" --no-check-certificate -O compose.yaml wget "[https://waf-ce.chaitin.cn/release/latest/seccomp.json](https://waf-ce.chaitin.cn/release/latest/seccomp.json)" --no-check-certificate -O seccomp.json # 加载离线镜像包 docker load -i image.tar.gz # 修改.env版本标签为latest sed -i "s/IMAGE_TAG=.*/IMAGE_TAG=latest/g" .env # 拉起新容器 docker compose up -d
四、指定升级到某个固定版本(不latest)
修改 .env 里面的IMAGE_TAG,例如升级到9.3.6
cd /data/safeline
sed -i 's#IMAGE_TAG=.*#IMAGE_TAG=9.3.6#' .env
docker compose pull
docker compose up -d五、升级后校验步骤
- 访问管理面板
https://IP:9443登录,查看版本号 - 访问业务站点,确认网站可正常访问
- 测试防护:SQL注入、XSS测试,确认拦截正常
- 检查自定义Nginx配置、证书、人机验证、CC策略是否保留
- 查看容器日志,排查报错:
docker compose logs -f
六、常见坑
- docker compose命令找不到:旧版安装是
docker-compose(带横杠),把命令替换成docker-compose up -d - 跨LTS大版本升级:低于9.2.7 LTS升级,站点配置需要手动迁移,参考百川社区迁移脚本
- 升级后自定义nginx配置失效:新版本路径变更,旧的proxy_ssl配置需要迁移到
custom_params目录 - 降级不推荐:数据库结构升级后,直接改IMAGE_TAG降级极易数据库损坏、配置丢失
- 端口冲突、网络残留报错:
docker network prune清理无用docker网络
七、回滚方案(升级出问题)
# 停止当前雷池
cd /data/safeline
docker compose down
# 替换回备份目录
rm -rf /data/safeline
cp -a /data/safeline_bak /data/safeline
cd /data/safeline
docker compose up -d