Node.js 在NodeJS中创建HTTPS客户端-错误\u TLS\u证书\u ALTNAME\u无效
我使用NodeJS创建了一个http客户端,如下所示:Node.js 在NodeJS中创建HTTPS客户端-错误\u TLS\u证书\u ALTNAME\u无效,node.js,Node.js,我使用NodeJS创建了一个http客户端,如下所示: var options = { hostname: 'localhost', port: 8445, path: 'authorisation/getIt', method: 'GET', ca: fs.readFileSync('root_cert.pem', 'utf8'), key: fs.readFileSync('consumer_private_key.pem', 'utf
var options = {
hostname: 'localhost',
port: 8445,
path: 'authorisation/getIt',
method: 'GET',
ca: fs.readFileSync('root_cert.pem', 'utf8'),
key: fs.readFileSync('consumer_private_key.pem', 'utf8'),
cert: fs.readFileSync('consumer_cert.pem', 'utf8'),
passphrase: 'password',
headers: {
"Content-Type": "application/json",
"Content-Length": Buffer.byteLength(body)
}
};
var request = new https.request(options, function(response) {
response.on('data', function(chunk) {
console.log("%s", chunk);
})
当我在服务器上运行这个客户机时,我得到了一个错误
错误[ERR\u TLS\u CERT\u ALTNAME\u INVALID]:主机名/IP不匹配
证书的altnames:Host:localhost。不是证书的CN:
LC_AAA_服务器
位于Object.checkServerIdentity(tls.js:225:17)
在TLSSocket.onConnectSecure(_tls_wrap.js:1046:27)
在TLSSocket.emit(events.js:127:13)
完成时(包装:633:8)
如果我将主机名字段更改为服务器证书CN中的文本,则客户端将给出一个错误
错误:getaddrinfo ENOTFOUND LC_AAA_服务器
如何更改主机名以匹配服务器证书的CN,但使客户端仍然指向本地主机上托管的服务器
提前感谢没有办法做到这一点。您不能用不同的alt名称生成另一个证书吗?