2.1 KiB
2.1 KiB
密钥管理说明
密钥文件路径:/opt/nac/services/nac-admin/.env
必要密钥列表
| 环境变量 | 说明 | 示例值 |
|---|---|---|
NAC_MYSQL_URL |
MySQL 连接字符串(nac_id 数据库) | mysql://root:password@localhost:3306/nac_id |
NAC_MONGO_URL |
MongoDB 连接字符串(知识引擎数据库) | mongodb://root:password@localhost:27017/nac_knowledge_engine?authSource=admin |
NAC_JWT_SECRET |
JWT 签名密钥(至少32位随机字符串) | <随机生成> |
.env 文件格式
NAC_MYSQL_URL=mysql://root:vaingkvf@localhost:3306/nac_id
NAC_MONGO_URL=mongodb://root:idP0ZaRGyLsTUA3a@localhost:27017/nac_knowledge_engine?authSource=admin
NAC_JWT_SECRET=<生产环境随机密钥>
密钥管理最佳实践
- 不要将密钥写入 systemd 服务文件的
Environment=行,应使用EnvironmentFile=指向.env文件 .env文件权限应设置为600(仅 root 可读):chmod 600 /opt/nac/services/nac-admin/.env- 定期轮换 JWT_SECRET:每90天更换一次,更换后需要重启服务(所有用户需重新登录)
- MongoDB 密码:使用宝塔面板数据库管理界面修改,修改后同步更新
.env文件 - MySQL 密码:使用宝塔面板数据库管理界面修改,修改后同步更新
.env文件
密钥迁移步骤(从 systemd 内联迁移到 .env 文件)
# 1. 创建 .env 文件
cat > /opt/nac/services/nac-admin/.env << 'EOF'
NAC_MYSQL_URL=mysql://root:vaingkvf@localhost:3306/nac_id
NAC_MONGO_URL=mongodb://root:idP0ZaRGyLsTUA3a@localhost:27017/nac_knowledge_engine?authSource=admin
NAC_JWT_SECRET=<生产环境随机密钥>
EOF
# 2. 设置文件权限
chmod 600 /opt/nac/services/nac-admin/.env
chown root:root /opt/nac/services/nac-admin/.env
# 3. 修改 systemd 服务文件,移除内联密钥,添加 EnvironmentFile
# 编辑 /etc/systemd/system/nac-admin.service
# 删除所有 Environment=NAC_* 行
# 添加 EnvironmentFile=/opt/nac/services/nac-admin/.env
# 4. 重载并重启
systemctl daemon-reload
systemctl restart nac-admin
# 5. 验证服务正常
systemctl status nac-admin