错误:节点 js 应用程序中证书链中的自签名证书

Posted

技术标签:

【中文标题】错误:节点 js 应用程序中证书链中的自签名证书【英文标题】:Error: self signed certificate in certificate chain in node js application 【发布时间】: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(没有帮助)

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

【问题讨论】:

【参考方案1】:
httpsAgent: new https.Agent(
    rejectUnauthorized: false
)

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

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于错误:节点 js 应用程序中证书链中的自签名证书的主要内容,如果未能解决你的问题,请参考以下文章

Openssl:错误“证书链中的自签名证书”

Ionic Cordova 资源错误:证书链中的自签名证书

Heroku 登录错误:证书链中的自签名证书

SSL证书问题:证书链中的自签名证书

Curl 错误 60,SSL 证书问题:证书链中的自签名证书

尝试构建“node-gyp configure”时堆栈“错误:证书链中的自签名证书”