docs: 添加加密密钥配置说明
- 在部署文档中添加加密密钥配置章节 - 说明 .env 文件使用方法 - 添加密钥迁移指南 - 在环境变量表格中添加 ENCRYPTION_KEY_RAW 说明 - 添加密钥丢失警告 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
38
README.md
38
README.md
@@ -125,6 +125,42 @@ ssh -i /path/to/key root@your-server-ip
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### 3. 配置加密密钥(重要!)
|
||||||
|
|
||||||
|
系统使用 Fernet 对称加密保护用户账号密码。**首次部署或迁移时必须正确配置加密密钥!**
|
||||||
|
|
||||||
|
#### 方式一:使用 .env 文件(推荐)
|
||||||
|
|
||||||
|
在项目根目录创建 `.env` 文件:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /www/wwwroot/zsgpt2
|
||||||
|
|
||||||
|
# 生成随机密钥
|
||||||
|
python3 -c "from cryptography.fernet import Fernet; print(f'ENCRYPTION_KEY_RAW={Fernet.generate_key().decode()}')" > .env
|
||||||
|
|
||||||
|
# 设置权限(仅 root 可读)
|
||||||
|
chmod 600 .env
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 方式二:已有密钥迁移
|
||||||
|
|
||||||
|
如果从其他服务器迁移,需要复制原有的密钥:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 从旧服务器复制 .env 文件
|
||||||
|
scp root@old-server:/www/wwwroot/zsgpt2/.env /www/wwwroot/zsgpt2/
|
||||||
|
```
|
||||||
|
|
||||||
|
#### ⚠️ 重要警告
|
||||||
|
|
||||||
|
- **密钥丢失 = 所有加密密码无法解密**,必须重新录入所有账号密码
|
||||||
|
- `.env` 文件已在 `.gitignore` 中,不会被提交到 Git
|
||||||
|
- 建议将密钥备份到安全的地方(如密码管理器)
|
||||||
|
- 系统启动时会检测密钥,如果密钥丢失但存在加密数据,将拒绝启动并报错
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 快速部署
|
## 快速部署
|
||||||
|
|
||||||
### 步骤1: 上传项目文件
|
### 步骤1: 上传项目文件
|
||||||
@@ -662,6 +698,8 @@ docker logs knowledge-automation-multiuser | grep "数据库"
|
|||||||
|
|
||||||
| 变量名 | 说明 | 默认值 |
|
| 变量名 | 说明 | 默认值 |
|
||||||
|--------|------|--------|
|
|--------|------|--------|
|
||||||
|
| ENCRYPTION_KEY_RAW | 加密密钥(Fernet格式,优先级最高) | 从 .env 文件读取 |
|
||||||
|
| ENCRYPTION_KEY | 加密密钥(会通过PBKDF2派生) | - |
|
||||||
| TZ | 时区 | Asia/Shanghai |
|
| TZ | 时区 | Asia/Shanghai |
|
||||||
| PYTHONUNBUFFERED | Python输出缓冲 | 1 |
|
| PYTHONUNBUFFERED | Python输出缓冲 | 1 |
|
||||||
| WKHTMLTOIMAGE_PATH | wkhtmltoimage 可执行文件路径 | 自动探测 |
|
| WKHTMLTOIMAGE_PATH | wkhtmltoimage 可执行文件路径 | 自动探测 |
|
||||||
|
|||||||
Reference in New Issue
Block a user