Node.js 为什么秘密管理工具SecretHub在本地工作,但在heroku生产中不工作?
我决定为Heroku托管的node.js服务器实现一个秘密管理服务() 其安装过程如下所示:Node.js 为什么秘密管理工具SecretHub在本地工作,但在heroku生产中不工作?,node.js,heroku,secret-key,app-secret,Node.js,Heroku,Secret Key,App Secret,我决定为Heroku托管的node.js服务器实现一个秘密管理服务() 其安装过程如下所示: npm install --save-dev @secrethub/cli secrethub init (注册后将提供凭证) 然后将主启动脚本调整为: secrethub run -- nodemon server.js 现在,当我使用npm run start在本地运行应用程序时,一切都很好,服务器正常运行,注入了秘密,一切都很好。但当我部署到Heroku时,应用程序在启动脚本上立即崩溃: se
npm install --save-dev @secrethub/cli
secrethub init
(注册后将提供凭证)
然后将主启动脚本调整为:
secrethub run -- nodemon server.js
现在,当我使用npm run start
在本地运行应用程序时,一切都很好,服务器正常运行,注入了秘密,一切都很好。但当我部署到Heroku时,应用程序在启动脚本上立即崩溃:
server@1.0.0开始/应用2020-09-28222:42:08.353088+00:00
app[web.1]:>secrethub运行--nodemon server.js
2020-09-28322:42:08.353088+00:00应用程序[网站1]:
2020-09-28322:42:08.469775+00:00应用程序[web.1]:遇到错误:
处理模板文件“secrethub.env”时出错:找不到
凭证文件。转到以创建一个
account或runsecrethub init
在上使用已存在的帐户
这台机器。(secrethub.credential\u不存在)
(运行模板解析失败)2020-09-28222:42:08.484159+00:00
应用程序[web.1]:npm错误!代码ELIFECYCLE 2020-09-28322:42:08.484663+00:00
应用程序[web.1]:npm错误!errno 1 2020-09-28222:42:08.493367+00:00
应用程序[web.1]:npm错误!阿弗莱-stripe@1.0.0开始:secrethub运行--nodemon server.js
2020-09-28T22:42:08.493885+00:00应用程序[web.1]:npm
犯错误退出状态1 2020-09-28222:42:08.494399+00:00应用程序[网站1]:npm
犯错误2020-09-28322:42:08.494840+00:00应用程序[web.1]:npm错误!失败于
阿弗莱酒店-stripe@1.0.0开始脚本。2020-09-28 22:42:08.495292+00:00
应用程序[web.1]:npm错误!这可能不是npm的问题。有
上面可能有额外的日志输出。
2020-09-28322:42:08.515466+00:00应用程序[web.1]:
2020-09-28322:42:08.516772+00:00应用程序[web.1]:npm错误!完整的日志
可在以下位置找到此次运行的详细信息:2020-09-28322:42:08.517179+00:00
应用程序[web.1]:npm错误/app/.npm/_logs/2020-09-28222_42_08_498Z-debug.log
就像我说的,我已经报名了。有人知道部署到Heroku和使用secret management services时出现的任何问题吗?从日志的以下部分判断,似乎SecretHub CLI无法访问凭据: 找不到凭据文件。转到以创建帐户,或运行secrethub init以使用此计算机上已存在的帐户。(secrethub.credential\u不存在)
您可以通过为Heroku应用程序创建服务帐户来解决此问题。你可以跟着看怎么做。您可以将生成的凭据配置为Heroku中的
SECRETHUB\u credential
环境变量(请参阅如何)。从日志的以下部分判断,似乎SECRETHUB CLI没有访问凭据的权限:
找不到凭据文件。转到以创建帐户,或运行secrethub init以使用此计算机上已存在的帐户。(secrethub.credential\u不存在)
您可以通过为Heroku应用程序创建服务帐户来解决此问题。你可以跟着看怎么做。您可以在Heroku中将生成的凭据配置为SECRETHUB\u credential
环境变量(请参阅如何)