gpt4 book ai didi

node.js - 如何创建 Node js ssl 服务器?

转载 作者:搜寻专家 更新时间:2023-10-31 22:30:40 25 4
gpt4 key购买 nike

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 服务器 ofcourse

结果:连接(00000003)139813382997664:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure: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

关于node.js - 如何创建 Node js ssl 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15864897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com