我有一个我推送到Heroku的node.js应用程序.它使用MongoDB进行存储. Heroku提供免费的MongoDB作为您的应用可以连接的插件.现在我的问题是,因为连接字符串是这种格式:
mongodb:// dbuser:dbpass @ host:port / dbname,并且由于Heroku使用git来推送,如何在不泄露我的情况下将我的代码推送到公共
GitHub仓库每个人的用户名和密码?
有没有办法让数据库打开,但仅限于来自我的Heroku应用程序的连接?
我不得不承认我对整件事感到非常困惑.
解决方法
您将需要在Heroku开发中心阅读超过
Configuration and config vars. Heroku期望并鼓励您使用配置变量(在Heroku应用程序本身而不是在代码库中配置)来保护敏感数据(如密码).使用heroku config:设置VARIABLE = value,但请注意大多数Heroku插件在配置时会自动将身份验证信息添加到配置变量中.您可以查看使用heroku config命令设置的内容.
使用node,您可以使用process.ENV.VARIABLE访问环境变量,其中VARIABLE是您尝试访问的环境/配置变量的名称.
最后一点,您可以将本地环境变量添加到项目目录中的.env(将文件添加到.gitignore!)…当您使用foreman start或foreman run时,foreman将加载这些变量.