我使用创建了 server.key 和 server.csr 文件openssl req -nodes -newkey rsa:2048 -keyout server.key -out 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 服务器(生产服务器)上生成了两个文件,key 和 csr 文件,现在我正试图让它们在我的本地主机上工作(首先,在我将代码提交到生产环境之前;我有在进行 git 提交之前测试它是否有效)。因此,这可能是因为我的本地主机(开发环境)与我的 VPS 服务器(生产环境)位于不同的域中。会是这样吗?如果是这样,我怎样才能使本地主机和生产环境使用相同的证书?
或者,您会建议我为我的开发环境创建另一个证书吗?我看到的唯一问题是我的开发环境没有域,因为它是在本地完成的。为了简单起见,我宁愿使用相同的证书(即使这意味着 localhost 上的锁图标损坏或其他东西)。