node.js – 如何创建nodejs ssl服务器?

前端之家收集整理的这篇文章主要介绍了node.js – 如何创建nodejs ssl服务器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
nodejs版本:0.8.6
我使用openssl使用以下命令创建了一个ssl csr文件
openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out myserver.csr

> csr内容已发送到我的SSL提供商,证书已发回.

现在我想创建一个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服务器

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

谁能帮我 ?我在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)
};

The docs say,options参数类似于tls.createServer

原文链接:https://www.f2er.com/nodejs/241182.html

猜你在找的Node.js相关文章