目前我有两个系统:
当前设置应用程序的方式是,react应用程序使用Axios向后端( Express App)发送请求。当我使用axios试图访问我的express应用程序的API端点时,它会返回到控制台中:
Failed to load resource: net::ERR_CERT_AUTHORITY_INVALID
如何解决这个问题,这样我就可以使用Firebase从我的Vultr应用程序中获得信息,而无需获得证书无效的错误?是可能的吗?我可以在我的VPS IP地址上使用HTTP来实现它,同时在Firebase上使用HTTPS吗?我看到了以下内容的流传,但没有奏效:
const instance = axios.create({
httpsAgent: new https.Agent({
rejectUnauthorized: false
})
});
发布于 2021-02-28 03:06:52
错误消息只是告诉您您的证书不受信任。
你有两个选择:信任还是忽略
盲目地忽略ssl错误是非常糟糕的,使您在中间攻击中很容易被人所取代。证书的工作方式是将其“信任”委托给父证书,直到您到达CA (证书颁发机构)为止。假设你从godaddy那里购买了一个证书,他们会在您的证书上签名,所以当有人试图查看您的证书是否有效时,他们会转到godaddy的CA,获取公钥并检查您的证书是否有效。
如果您自己签署了证书,就没有CA,因此,无法信任它。除非您显式地将它添加到操作系统中的ca包文件中。
自签名证书根本没有证书,并且手动信任它胜过忽略ssl错误。但是,要理解这些概念还需要做一些工作,但随着时间的推移,它会变得更容易。如果你的应用是为了一个爱好,忽略掉。
信任
要在全球范围内信任,您必须获得证书并将其添加到ca信任包中,这需要您访问操作系统和管理权限,这是您的vultr应用程序的casa,而不是firebase。
在firebase的情况下,您必须获取证书公钥并将其作为参数传递给axios
忽略
https://stackoverflow.com/questions/66405331
复制相似问题