关于node.js里mysql数据库配置文件 写到哪里最安全
本人新手 不晓得这个mysql数据库配置文件写到哪里、以及怎么写才算安全
目前直接写到一个config.js 里 如
好家伙 这个config.js 别人知道文件名称以及路径的话
直接能访问 看到我的数据库配置
太可怕了
求教一下 好点的法子
18 回复
生产环境不用配置文件 (推荐)
敏感信息作为Shell环境变量: $ APP_DB_USERNAME='xxxxx’ Node直接读这个变量: process.env.APP_DB_USERNAME
生产环境不得不用配置文件
不要版本控制这样的文件 用临时生成的文件 放在服务目录外 设置文件权限到只够APP使用
两种方式都可以用简单脚本自动化。
我的做法是: prod环境使用配置服务,限制内网访问,把pm2的启动json配置在配置服务中,db连接的参数可以配置在参数或env下,加载后使用pm2的start方法启动,参考: pm2 api
{
"script": "app.js",
"env": {
"NODE_ENV": "production",
"PORT":"1339",
"DB_HOST": "<ip>",
"DB_USER":"<username>",
"DB_PWD":"<password>"
}
}
数据库配置处可以这样写:
host:process.env.DB_HOST||'localhost'
@284099857 只有放在public文件夹下的文件通过浏览器才能访问,即前端所有文件, 你都写mysql配置了,肯定不能放在public文件下吧,也不属于前端文件了。肯定是访问不到的。不信你自己试试