节点 js heroku 中 pem 文件的密钥
Posted
技术标签:
【中文标题】节点 js heroku 中 pem 文件的密钥【英文标题】:key for pem file in node js heroku 【发布时间】:2014-01-31 21:55:39 【问题描述】:我得到以下苹果推送服务的代码:
agent
.set('cert file', join(__dirname, 'cert.pem'))
.set('key file', join(__dirname, 'key.pem'))
.enable('sandbox');
当我在 localhost 上运行我的服务器时,我输入 pem 密钥,服务器开始工作。
如何将其设置为自动输入,因为我将它部署在 heroku 上,我做 git push heroku master
并且服务器失败,因为我没有输入 pem 密钥。
【问题讨论】:
你能生成不受密码保护的 pem 文件吗? @leesei 有可能吗?它要求我输入密码 在提示输入时尝试按 Enter。 @leesei 我这样做删除它openssl rsa -in key.pem -out key.pem
【参考方案1】:
您用于发送通知的库是否支持传递证书/密钥的字符串数据?您可以尝试使用heroku config
命令在heroku 上将内容添加为环境变量。例如:
heroku config:set CERT_DATA='content of the file'
然后您可以在代码中引用CERT_DATA
而不是读取文件。您还需要在开发期间设置环境变量的方法,但我对可用于建议如何执行此操作的工具不够熟悉。
【讨论】:
【参考方案2】:我使用了这些命令:
openssl genrsa -out privatekey.pem 1024
openssl req -new -key privatekey.pem -x509 -days 7300 -out certificate.pem
我在 Node.js HTTPS 服务器中使用它们。
见Enabling HTTPS on express.js
【讨论】:
以上是关于节点 js heroku 中 pem 文件的密钥的主要内容,如果未能解决你的问题,请参考以下文章