【发布时间】:2021-11-09 14:57:25
【问题描述】:
我正在尝试使用 Node.js 创建 HTTPS 服务器。我已经按照网络上的一些说明进行操作,最终得到以下代码:
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('D:\\NodeJs\\HTTPS\\keys\\pvtkey.pem', 'utf8'),
cert: fs.readFileSync('D:\\NodeJs\\HTTPS\\keys\\cert.pem', 'utf8'),
requestCert: false,
rejectUnauthorized: false
};
https.createServer(options, function (req, res) {
if (req.client.authorized) {
res.writeHead(200, {"Content-Type": "application/json"});
res.end('{"status":"approved"}');
} else {
res.writeHead(401, {"Content-Type": "application/json"});
res.end('{"status":"denied"}');
}
}).listen(443);
console.log('start listing');
尝试从 Chrome 访问时,我收到以下错误:
SSL 连接错误 无法与服务器建立安全连接。 这可能是服务器的问题,或者可能需要客户端 您没有的身份验证证书。错误代码: ERR_SSL_PROTOCOL_ERROR
有什么建议吗?
【问题讨论】:
-
您必须在您的服务器上安装有效的 SSL 证书才能使用 HTTPS 连接。
-
我已更改 https 选项以使用 pfx,但“身份未验证”
-
@AhmedMetwally:“身份未验证”是您的证书有问题。最好再问一个关于这个问题的问题,不要忘记包含您的证书的详细信息(颁发者、主题、SAN ......)