我使用openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr
命令创建了server.key和server.csr文件。我在startssl.com上创建了SSL证书并得到了一个证书文件。然后在我的node.js应用程序中,我读取了密钥和证书文件:
var app = module.exports = express.createServer({
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.cert')
});
但是,现在我的应用程序返回空响应,显示“未收到数据”的消息。这可能是什么原因?我对SSL及其工作原理非常陌生,所以非常感谢任何帮助。
更多信息:我在我的VPS服务器(生产服务器)上生成了两个文件,密钥和csr文件,现在我正在尝试让它们在我的本地主机上运行(首先,在提交我的代码到生产环境之前;我必须测试它是否可以工作,然后才能进行git提交)。因此,这可能是由于我的本地主机(开发环境)与我的VPS服务器(生产环境)位于不同的域中。如果是这样,我该怎么做才能让本地主机和生产环境使用相同的证书?
或者,您建议我为我的开发环境创建另一个证书吗?唯一的问题是,因为它是本地完成的,所以我没有开发环境的域名。出于简单起见,我宁愿使用相同的证书(即使这意味着在本地主机上会出现损坏的锁定图标或其他问题)。