发布于 2016-04-06 19:58:10
听起来您所描述的问题实际上并不是关于读取证书,而是简单地知道它们位于何处。
尝试构建可以自动发现可信证书在任何运行的计算机上所在位置的东西几乎肯定是不可能的,而且可能也不是一个好主意。
相反,这听起来应该用一个简单的环境变量来解决(问题毕竟是关于不同环境中证书路径的可变性)。
你可以设置3个环境变量,让我们称它们为CERT_PATH,KEY_PATH和CA_PATH。您可以在任何操作系统上配置这些,使其指向正确的位置。然后,您可以在应用程序中引用它们:
var fs = require('fs');
var https = require('https');
var options = {
key: fs.readFileSync(process.env.KEY_PATH),
cert: fs.readFileSync(process.env.CERT_PATH),
ca: fs.readFileSync(process.env.CA_PATH),
};
https.createServer(options, function (req, res) {
console.log(new Date()+' '+
req.connection.remoteAddress+' '+
req.method+' '+req.url);
res.writeHead(200);
res.end("hello world\n");
}).listen(4433);https://stackoverflow.com/questions/36311701
复制相似问题