Javascript 你如何解决;“证书链中的自签名证书”;Node.js出错?
我目前有一个部分在Node.js/Electron(后端)和React(前端)上运行的应用程序。我可以单独运行这些,但整个项目必须利用这两个。通常,后端的javascript代码大量使用Javascript 你如何解决;“证书链中的自签名证书”;Node.js出错?,javascript,node.js,ssl,electron,wireshark,Javascript,Node.js,Ssl,Electron,Wireshark,我目前有一个部分在Node.js/Electron(后端)和React(前端)上运行的应用程序。我可以单独运行这些,但整个项目必须利用这两个。通常,后端的javascript代码大量使用http.get调用 最近,我设置了一个TSL/SSL证书,这样只有受信任的用户才能查看/访问应用程序的某些方面。在此之后,我尝试将所有http.get调用更改为https.get调用,并将所有相关端点从http://更改为https://。在我做出改变之前,一切都很顺利。虽然更改URL似乎没有改变任何东西,但将
http.get
调用
最近,我设置了一个TSL/SSL证书,这样只有受信任的用户才能查看/访问应用程序的某些方面。在此之后,我尝试将所有
http.get
调用更改为https.get
调用,并将所有相关端点从http://
更改为https://
。在我做出改变之前,一切都很顺利。虽然更改URL似乎没有改变任何东西,但将http.get
请求更改为https.get
请求确实改变了
现在,我不断收到错误error:certificate chain中的自签名证书,我不完全确定如何修复此问题。除了Node之外,它似乎在任何地方都能工作。我不希望它更改代码以允许未经授权的用户。我只是想确保我发送和接收的数据是加密的
我曾尝试使用Node的节点rest客户端
,但我认为这也不能解决问题。我一直在尝试使用Wireshark验证我的数据是否加密,但我不确定这是否能让我更接近解决方案
我的代码如下所示:
const path = require('path')
const https = require('https')
async function foobar1 (options) {
return new Promise(async (resolve, reject) => {
await https.get(options, async (response) => {
console.log(response)
}).on('error', function (e) {
reject(new Error(e, e.message))
})
})
}
其中,选项
看起来像:{hostname:'hostname',path:'/path',headers:{ApiKey:'??-'}}
“我如何设置TSL/SSL证书?”?您可能生成了一个自签名的,因此会出现错误。从任何知名CA获取“真实”证书,您的错误将立即消失……我使用了一个名为Sectigo的服务:那么您的证书肯定不是自签名的,因此如果您收到特定的错误消息,则表示您没有使用Sectigo提供给您的证书。您需要详细了解客户端获得的证书,并了解验证失败。“我如何设置TSL/SSL证书”?您可能生成了一个自签名的,因此会出现错误。从任何知名CA获取“真实”证书,您的错误将立即消失……我使用了一个名为Sectigo的服务:那么您的证书肯定不是自签名的,因此如果您收到特定的错误消息,则表示您没有使用Sectigo提供给您的证书。您需要详细了解客户端获得的证书,并了解验证失败的原因。