React前端用Axios调用自签名HTTPS后端遇证书错误求解决方案
React中调用自签名HTTPS后端的证书错误解决方案咨询
[编辑]:下方已有一个回答
我尝试在React中使用Axios(或fetch)调用Node.js HTTPS后端,但使用自签名证书时始终遇到证书错误。启动React应用时设置NODE_TLS_REJECT_UNAUTHORIZED=0可绕过REJECT_UNAUTHORIZED错误,但这显然不是合理方案。同时我还遇到ERR_CERT_COMMON_NAME_INVALID这类报错。
值得一提的是,在Postman中启用证书验证并上传自签名CA PEM证书后,请求一切正常。我也尝试在Chrome的根CA存储中上传该证书,但仍会出现警告。
我当然也试过添加HTTPS Agent的方案(见下方代码),但问题仍未解决。该方案似乎适用于Node.js应用,但不适用于React等前端应用。
那么正确的解决方案是什么?如何在React中请求本地自签名HTTPS后端而不出现这些警告?相关问题已被大量反馈,但仍无可行方案?
感谢解答
axios.defaults.httpsAgent = new https.Agent({ rejectUnauthorized: false, port: 443, }); const tokensData = await axios.post<TLoginApi, AxiosResponse<TLoginApi, any>, TLoginDTO>( `${process.env.AUTH_URL}/login`, credentials, { headers: { "Content-Type": "application/json", Accept: "application/json", }, // or this but failed anyway // httpsAgent: new https.Agent({ // rejectUnauthorized: false, // port: 443, // }), } );
内容的提问来源于stack exchange,提问作者Jerome
相关产品推荐
相关产品推荐

