我决定为 Heroku 托管的 node.js 服务器实现一个秘密管理服务 ( secrethub.io )。
它的安装过程如下:
npm install --save-dev @secrethub/cli
secrethub init
(然后在您注册后获得证书)
然后将主启动脚本调整为:
secrethub run -- nodemon server.js
现在,当我在本地运行应用程序时,npm run start
一切都很好,服务器运行正常,注入了秘密,一切都很好。但是当我部署到 Heroku 时,应用程序在启动脚本上立即崩溃:
server@1.0.0 start /app 2020-09-28T22:42:08.353088+00:00 app[web.1]: > secrethub 运行 -- nodemon server.js 2020-09-28T22:42:08.353088+00:00 app [web.1]:2020-09-28T22:42:08.469775 + 00:00 app [web.1]:遇到错误:处理模板文件'secrethub.env'时出错:找不到凭据文件。转到https://signup.secrethub.io/以创建一个帐户或运行
secrethub init
以使用此机器上已经存在的帐户。(secrethub.credential_not_exist) (run.template_parsing_failed) 2020-09-28T22:42:08.484159+00:00 app[web.1]: npm ERR!代码 ELIFECYCLE 2020-09-28T22:42:08.484663+00:00 app[web.1]: npm ERR!错误号 1 2020-09-28T22:42:08.493367+00:00 应用程序 [web.1]:npm 错误!aflare-stripe@1.0.0 开始:secrethub run -- nodemon server.js
2020-09-28T22:42:08.493885+00:00 应用程序 [web.1]:npm 错误!退出状态 1 2020-09-28T22:42:08.494399+00:00 app[web.1]: npm ERR! 2020-09-28T22:42:08.494840+00:00 应用程序 [web.1]:npm 错误!aflare-stripe@1.0.0 启动脚本失败。2020-09-28T22:42:08.495292+00:00 应用 [web.1]: npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。2020-09-28T22:42:08.515466+00:00 app[web.1]: 2020-09-28T22:42:08.516772+00:00 app[web.1]: npm ERR!此运行的完整日志可在以下位置找到:2020-09-28T22:42:08.517179+00:00 app[web.1]: npm ERR!
/app/.npm/_logs/2020-09-28T22_42_08_498Z-debug.log
就像我说的我已经注册了一切。有人知道部署到 Heroku 和使用秘密管理服务的任何问题吗?