如何创buildnodejs ssl服务器?

nodejs版本:0.8.6
我使用openssl创build了一个ssl csr文件,命令如下:openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out myserver.csr

  • csr内容被发送到我的SSL提供商,证书被发回。

现在我想创build一个SSL安全的服务器:

var fs = require("fs"); var https = require('https'); var credentials = { key: fs.readFileSync(options.base_project_folder + 'privatekey.pem'), cert: fs.readFileSync(options.base_project_folder + 'certificate.pem') }; var server = https.createServer(credentials, app); server.listen(port, address, function() { var addr = this.address(); console.log('listening on %s:%d', addr.address, addr.port); }); 

服务器正在运行,但我得到:“SSL连接错误”

试图检查我所做的问题:openssl s_client -connect my_dns:443 // my_dns指向我的nodejs服务器ofcourse

结果:CONNECTED(00000003)139813382997664:错误:140790E5:SSL例程:SSL23_WRITE:ssl握手失败:s23_lib.c:177:
没有对等证书可用
未发送客户端证书CA名称
SSL握手已经读取了0个字节并写入了226个字节
新(NONE),密码是(NONE)
不支持安全重新协商
压缩:无
扩展:无

谁能帮我 ? 我在SSL黑暗中迷路了:(

尝试像这样添加CA:

 var credentials = { key: fs.readFileSync(options.base_project_folder + 'privatekey.pem'), cert: fs.readFileSync(options.base_project_folder + 'certificate.pem'), ca: fs.readFileSync(/path/to/CA/cert) }; 

文档说选项参数类似于tls.createServer

我相信你也需要为签名者指定一个CA证书。 由于这不是一个自签名的证书,你应该从任何你获得证书的地方收到一个包。

几个应该帮助的链接: http : //qugstart.com/blog/node-js/install-comodo-positivessl-certificate-with-node-js/ http://www.gettingcirrius.com/2012/06/securing -nodejs和快车与- ssl.html