⚠️ 生产环境强烈建议先备份,优先业务低峰操作;跨大版本(如LTS升级到新版)需要额外做数据库/站点配置迁移,先看官方Release公告
环境要求:Docker ≥20.10.14,Docker Compose ≥2.0.0

一、升级前必做(最重要)

# 默认安装目录 /data/safeline,备份整个目录
cp -a /data/safeline /data/safeline_bak
  1. 记录当前版本、站点配置、自定义nginx配置、证书、IP黑白名单
  2. 业务低峰执行,升级过程会短暂中断WAF流量
  3. 查看官方更新日志,确认是否有破坏性变更
  4. 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}')

三、离线手动升级(服务器无法访问外网)

  1. 外网机器下载最新:compose.yaml、seccomp.json、雷池镜像包 image.tar.gz
  2. 上传到雷池服务器,进入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

五、升级后校验步骤

  1. 访问管理面板 https://IP:9443 登录,查看版本号
  2. 访问业务站点,确认网站可正常访问
  3. 测试防护:SQL注入、XSS测试,确认拦截正常
  4. 检查自定义Nginx配置、证书、人机验证、CC策略是否保留
  5. 查看容器日志,排查报错:docker compose logs -f

六、常见坑

  1. docker compose命令找不到:旧版安装是docker-compose(带横杠),把命令替换成docker-compose up -d
  2. 跨LTS大版本升级:低于9.2.7 LTS升级,站点配置需要手动迁移,参考百川社区迁移脚本
  3. 升级后自定义nginx配置失效:新版本路径变更,旧的proxy_ssl配置需要迁移到custom_params目录
  4. 降级不推荐:数据库结构升级后,直接改IMAGE_TAG降级极易数据库损坏、配置丢失
  5. 端口冲突、网络残留报错: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

标签: 雷池SafeLine WAF

添加新评论