节点js heroku中pem文件的键

时间:2014-01-13 08:06:10

标签: node.js heroku apple-push-notifications pem

我为apple推送服务获得了以下代码:

  agent
.set('cert file', join(__dirname, 'cert.pem'))
.set('key file', join(__dirname, 'key.pem'))
.enable('sandbox');

当我在localhost上运行我的服务器时,我输入pem key,服务器开始工作。

如何将其设置为自动输入,因为我在heroku上部署它git push heroku master并且服务器失败,因为我没有输入pem键。

2 个答案:

答案 0 :(得分:3)

用于发送通知的库是否支持传递证书/密钥的字符串数据?您可以尝试使用heroku config命令在heroku上将内容添加为环境变量。例如:

heroku config:set CERT_DATA='content of the file'

然后,您可以在代码中引用CERT_DATA而不是读取文件。您还需要一种在开发过程中设置环境变量的方法,但我不熟悉可用于建议如何执行此操作的工具。

答案 1 :(得分:1)

我使用了这些命令:

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