跳转到内容

安全、备份与升级问答

JWT 密钥可以复制到另一台服务器吗?

迁移整个生产实例时,应通过受控方式同步必要配置;但不要随意复制其他服务器的 data/jwt-secret,更不能提交到版本库。密钥泄露会影响所有已签发会话,应立即轮换并让旧会话失效。

开放接口令牌放在哪里?

仅通过 X-Api-TokenAuthorization: Bearer 请求头发送。不要写在 URL、截图、前端源代码或公开日志中。

备份包含什么?

最低要求是数据库、应用配置、JWT 密钥、上传文件和必要的自定义静态文件。Elasticsearch 索引通常可以从数据库重建,但大数据量实例仍应评估快照策略。

如何执行恢复?

恢复会覆盖当前数据库。先停写入、备份当前状态,再使用明确确认变量执行恢复脚本:

终端窗口
JUZHENPAN_RESTORE_CONFIRM=RESTORE ./restore.sh backups/juzhenpan-db-时间.sql.gz

恢复后检查迁移版本、管理员登录、资源数量和搜索索引。

升级包校验失败怎么办?

不要绕过校验。确认升级包平台和 CPU 架构正确,SHA256 未变化,版本说明存在,Ed25519 签名来自受信发布密钥,并且版本高于当前版本。

可以执行 docker compose down -v 吗?

除非你明确要永久删除 Compose 管理的数据卷,否则不要执行。普通重启或升级不需要删除数据卷。