node.js - 如何修复 'Hostname/IP does not match certificate' 的别名'

标签 node.js https ssl-certificate

我在运行获取服务响应时遇到问题。有两种服务。对于第一项服务,它运行良好,但在第二项服务中我遇到了问题“错误 [ERR_TLS_CERT_ALTNAME_INVALID]:主机名/IP 与证书的别名不匹配:证书为空”。当我将 Postman 与证书一起使用时,它的效果非常好。我应该设置或实现什么才能让它发挥作用?

我尝试使用:checkServerIdentity, rejectUnauthorized: true。

let options = {
    hostname: 'ws.aaa.bbb.nn',
    path: '/api',
    method: 'GET',
    key: fs.readFileSync('/private.crt'),
    cert: fs.readFileSync('/public.crt'),
    passphrase: '***'
};

const req = https.request(options, (res) => {
    let body = '';
    res.on('data', (chunk)=> {
        body += chunk;
        console.log(body)
    });
});

应该是状态码 200。

最佳答案

您的证书似乎有问题。 获取正确的证书或关闭 SSL 证书验证。

关于node.js - 如何修复 'Hostname/IP does not match certificate' 的别名',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56549823/

相关文章:

javascript - 无法加载socket.io.js

javascript - 无效的自签名证书

mysql - 如何设置 SSL 连接到 RDS MySQL 实例

Python 无法将请求绑定(bind)到网络接口(interface)

javascript - ExpressJS RESTapi动态设置路由

node.js - 没有用于 express/node windows 7 的命令行实用程序

node.js - 在 Node js 应用程序中导入 Mongoose 架构无法正常工作

android - 在 android 中使用 SSL 进行通信

security - https(TLS)是否加密从服务器到客户端的数据?

ios - 为 MCSession 授权证书