【问题标题】:Error: self signed certificate in certificate chain in node js application错误:节点 js 应用程序中证书链中的自签名证书
【发布时间】:2021-11-20 05:19:42
【问题描述】:

我在一家拥有严格 IT 政策的公司工作。我在代理后面工作,我主要使用 Proxifier 或有时在 Windows 设置中设置代理。
我正在使用 Node.js 开发 API,起初只是为了测试我创建了一个简单的路由来调用“https://jsonplaceholder.typicode.com/posts”。每当我在 Postman 中测试我的路由时,我都会在运行节点 js 的命令提示符中收到错误“错误:证书链中的自签名证书”。
但是当我直接在 Postman 中测试“https://jsonplaceholder.typicode.com/posts”时,它可以工作。
这是我为测试而编写的简单代码

exports.testing = async(req, res, next) => {
    try {
        const data = await axios.get("https://jsonplaceholder.typicode.com/posts")
        console.log({"Data": data.data})
    }catch(err){
        console.error({"ERROR": err});
    }
}

我的尝试
npm config set strict-ssl false --global(没有帮助,我认为这是用于下载 npm 包)
npm config set cafile /path/to/your/cert.pem --global(没有帮助)
设置 NODE_TLS_REJECT_UNAUTHORIZED=0(没有帮助)
设置 NODE_EXTRA_CA_CERTS=/path/to/your/cert.pem(没有帮助)

附言
当我使用移动数据时,它可以完美运行

【问题讨论】:

    标签: node.js ssl proxy self-signed-certificate


    【解决方案1】:
    httpsAgent: new https.Agent({
        rejectUnauthorized: false
    })
    

    不是一个完美的解决方案,但可以用于开发环境

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 2012-08-24
    • 2017-12-18
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2018-11-18
    相关资源
    最近更新 更多