安全性配置
确保您的 GPT-Load 部署安全可靠,遵循最佳安全实践
安全概述
GPT-Load 提供多层安全防护机制,包括身份验证、数据加密、访问控制等功能。正确配置这些安全设置对保护您的 AI 服务至关重要。
AUTH_KEY 认证密钥
AUTH_KEY 是访问 GPT-Load 管理界面的身份验证密钥。它必须设置为强密码以保护您的系统。
建议使用至少 32 个字符的随机密钥,包含大小写字母、数字和特殊字符,避免使用常见词汇或简单模式。
生成安全密钥
使用以下命令生成强随机密钥:
openssl rand -base64 32 | tr -d "=+/" | cut -c1-32
ENCRYPTION_KEY 数据加密
ENCRYPTION_KEY 用于加密存储敏感数据(如 API 密钥)。启用加密可以防止数据库泄露时密钥被直接获取。
启用加密的好处
- API 密钥在数据库中加密存储,即使数据库泄露也无法直接使用
- 符合企业安全合规要求
- 支持密钥轮换和重新加密
- 零性能影响的透明加解密
数据加密迁移步骤
停止服务
执行迁移前必须停止 GPT-Load 服务
docker compose down
备份数据
必须备份数据库!根据您使用的数据库类型(SQLite、MySQL、PostgreSQL)执行相应的备份操作。避免操作失误导致数据丢失。
执行迁移命令
根据您的部署方式选择相应的命令(详见下方不同部署方式的迁移命令)
更新配置
在 .env 文件中设置 ENCRYPTION_KEY
echo "ENCRYPTION_KEY=your-32-char-secret-key" >> .env
重启服务
启动服务并验证加密功能
docker compose up -d
不同部署方式的迁移命令
Docker Compose 部署
适用于使用 Docker Compose 部署的用户
启用加密:
docker compose run --rm gpt-load migrate-keys --to "your-32-char-secret-key"
禁用加密:
docker compose run --rm gpt-load migrate-keys --from "your-current-key"
更换密钥:
docker compose run --rm gpt-load migrate-keys --from "old-key" --to "new-key"
源码部署(Make)
适用于从源码编译部署的用户
启用加密:
make migrate-keys ARGS="--to your-32-char-secret-key"
禁用加密:
make migrate-keys ARGS="--from your-current-key"
更换密钥:
make migrate-keys ARGS="--from old-key --to new-key"
二进制部署
适用于使用编译后二进制文件的用户
启用加密:
./gpt-load migrate-keys --to "your-32-char-secret-key"
禁用加密:
./gpt-load migrate-keys --from "your-current-key"
更换密钥:
./gpt-load migrate-keys --from "old-key" --to "new-key"
⚠️ 极其重要的安全警告
ENCRYPTION_KEY 一旦丢失,所有加密的 API 密钥数据将永久无法解密!
- ⚠️所有存储的 API 密钥将无法使用
- ⚠️系统将完全不可用
- ⚠️加密数据无法恢复,即使有数据库备份也无法解密
- ⚠️必须重新添加所有 API 密钥
- ⚠️可能导致服务中断和业务损失
🔑 请务必将 ENCRYPTION_KEY 保存在多个安全的地方,定期检查备份的有效性!
重要提醒
- • 迁移前必须停止服务,避免数据不一致
- • 务必备份数据库以防迁移失败
- • 确保 ENCRYPTION_KEY 与迁移命令中的密钥一致
- • 密钥丢失将无法恢复加密数据
安全最佳实践
定期更换密钥
建议每3-6个月更换一次 AUTH_KEY,确保系统安全
使用环境变量
避免在代码或配置文件中硬编码密钥,使用环境变量管理
启用 HTTPS
生产环境务必使用 HTTPS 协议,防止中间人攻击
限制访问 IP
通过防火墙或反向代理限制管理界面的访问 IP
监控异常登录
定期查看登录日志,及时发现异常访问行为
备份加密密钥
安全地备份 ENCRYPTION_KEY,避免密钥丢失导致数据无法恢复
更多资源
了解更多关于 GPT-Load 安全配置的信息