连接到Heroku node.js应用程序中的数据库,而不会在git上显示身份验证详细信息

我有一个我推送到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将加载这些变量.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...